У меня странное поведение с методом toString Date в JavaScript.
Мои коллеги:
const event = new Date('August 19, 1975 23:15:30');
console.log(event.toString());
// expected output: Tue Aug 19 1975 23:15:30 GMT+0200 (CEST)
И я:
const event = new Date('August 19, 1975 23:15:30');
console.log(event.toString());
// expected output: Tue Aug 19 1975 23:15:30 GMT+0200 (Central European Standard Time)
Итак, у меня стандартное время с четкими словами, и я не хочу этого.
Похоже, вы используете разные браузеры или версии браузера. Вывод Date.prototype.toString
в ES2018 не указан полностью. Как вы можете видеть в спецификации о TimeZoneString:
Пусть tzName является строкой, определяемой реализацией, которая является либо пустой строкой, либо строкой-конкатенацией блока кода 0x0020 (SPACE), блока кода 0x0028 (LEFT PARENTHESIS), зависимого от реализации имени часового пояса и блока кода 0x0029 ( ПРАВИЛЬНЫЙ РОДИТЕЛЬ).
Текущие версии Firefox show (CET)
, Chrome (Central European Standard Time)
и Safari (CEST)
.
Вы можете попробовать toLocaleDateString
чтобы получить согласованные результаты. Например: event.toLocaleDateString('en-GB', {timeZoneName:"long",weekday: 'short', year: 'numeric', month: 'short', day: 'numeric', hour:'numeric', minute:'numeric', second: 'numeric'})
console.log(navigator.language)
?