js Date toLocaleString - PullRequest
       8

js Date toLocaleString

1 голос
/ 04 сентября 2011

Я использую 3 браузера для вывода этого результата.

Chrome:

new Date().toLocaleString()
> "Sun Sep 04 2011 21:40:04 GMT+0800 (HKT)"

Safari:

new Date().toLocaleString()
> "2011年9月4日 下午09时54分51秒格林尼治标准时间+0800"

FF:

new Date().toLocaleString()
> "Sun Sep 4 21:46:03 2011"

почему не тот же результат вывода? timezoom?

Ответы [ 3 ]

2 голосов
/ 04 сентября 2011

Это зависит от конфигурации компьютера, предпочтительного формата даты пользователя, очевидно, локали пользователя и того, как браузер определяет это.

Вы действительно должны использовать правильную библиотеку дат, например datejs для форматирования.

См. Их Date.toString() и format specifiers.

1 голос
/ 16 ноября 2011

Это ошибка в webkit, на самом деле; в частности, в Chrome, но Safari тоже действительно затронут:

toLocaleString () не переводится в локаль!

Хуже всего то, что он закрыт как WontFix. Как это возможно? Мы должны попытаться открыть его заново. Вывод об ошибке заключается в том, что когда-нибудь появится новая глобализация javascript apis (что хорошо объяснено здесь ). Это не похоже на решение для меня!

В любом случае, если возможно, следуйте совету @ arnaud576875, чтобы использовать datejs , который старый, но все еще очень хороший.

0 голосов
/ 24 апреля 2018

Отметьте ссылку

И этот пример:

var event = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// British English uses day-month-year order and 24-hour time without AM/PM
console.log(event.toLocaleString('en-GB', { timeZone: 'UTC' }));
// expected output: 20/12/2012, 03:00:00

// Korean uses year-month-day order and 12-hour time with AM/PM
console.log(event.toLocaleString('ko-KR', { timeZone: 'UTC' }));
// expected output: 2012. 12. 20. 오전 3:00:00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...