Date.prototype.toString()的中欧标准时间而不是CET

时间:2018-08-07 14:10:41

标签: javascript date

我在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)

所以,我有标准的时钟时间和清晰的文字,我不想要。

2 个答案:

答案 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)