我在JavaScript中使用Date的toString方法有奇怪的行为。
我的同事们有
numpy
还有我:
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)
所以,我有标准的时钟时间和清晰的文字,我不想要。
答案 0 :(得分:1)
您可能想尝试toLocaleDateString
以获得一致的结果。例如。 event.toLocaleDateString('en-GB', {timeZoneName:"long",weekday: 'short', year: 'numeric', month: 'short', day: 'numeric', hour:'numeric', minute:'numeric', second: 'numeric'})
答案 1 :(得分:1)
似乎您使用的是不同的浏览器或浏览器版本。 ES2018中Date.prototype.toString
的输出未完全指定。如您在有关TimeZoneString的规范中所看到的:
让tzName是一个实现定义的字符串,它可以是空字符串,也可以是代码单元0x0020(SPACE),代码单元0x0028(LEFT PARENTHESIS),与实现相关的时区名称< / strong>,以及代码单元0x0029(右括号)。
Firefox的当前版本显示(CET)
,Chrome (Central European Standard Time)
和Safari (CEST)
。