IE11 Date.prototype.toLocaleTimeString опции timeZoneName поддержка? - PullRequest
0 голосов
/ 10 октября 2018

Хотите использовать Date.prototype.toLocaleTimeString для форматирования Date объектов, например:

new Date().toLocaleTimeString('en', {hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short'})

В Chrome и Firefox я получаю следующие результаты:

Chrome: "3:18:34 PM EDT"

Firefox: "3:19:17 PM EDT"

Однако в IE я получаю такие результаты:

IE11: "03:19:54 PM" Обратите внимание на отсутствие "EDT ".

Я вижу здесь, на MDN , что IE11 предположительно полностью поддерживает аргумент options для этой функции.Я что-то пропустил или действительно нет способа получить строку в формате локали, включающую имя часового пояса.

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Если вы все еще хотите сделать это в IE 11, то можете попытаться сослаться на работу ниже.

Это не в коротком формате.

<!DOCTYPE html>
<html>
<body>

<p>Click the button to display the time as a string.</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
    var d = new Date();
    var rightNow = new Date();
    var TZ= String(String(rightNow).split("(")[1]).split(")")[0];
    var n = d.toLocaleTimeString('en', {hour: '2-digit', minute: '2-digit', second: '2-digit'});
	n += ' ' + TZ;
    document.getElementById("demo").innerHTML = n;



}
</script>

</body>
</html>

Вывод:

enter image description here

Кроме того, вы можете попробовать изменить код в соответствии с вашимтребование.

0 голосов
/ 10 октября 2018

Полная матрица совместимости здесь и выглядит следующим образом:

ECMAScript Intl Compatibility Table

Два красных прямоугольника показывают, что IE11такой поддержки нет.

Лично я не думаю, что это когда-либо случится.Если вам нужно поддерживать IE11, вам придется принести свои собственные данные для этого через библиотеку. Moment-Timezone - одна из таких библиотек, и здесь есть пример о том, как использовать ее в этом качестве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...