为什么Date()。toLocaleString在nodejs中返回的值不同于浏览器?

时间:2019-05-02 07:08:52

标签: javascript node.js string datetime v8

在chrome上执行new Date().toLocaleString()时返回 “ 2019年5月2日,上午11:55:00”,

在nodejs上执行相同的代码会返回

“ 2019年5月2日,11:55:00”,没有AM / PM

我需要有一个12小时格式的日期,在nodejs中提到AM / PM,类似于浏览器返回的内容。

我错过了什么吗?这是预期的行为吗?

1 个答案:

答案 0 :(得分:1)

它取决于实现,即不同的实现可以返回不同的字符串格式。


20.3.4.41 Date.prototype.toString()

  

执行以下步骤:

     

...   否则,让tv为这个时间值。返回   ToDateString(tv)。

20.3.4.41.1 Runtime Semantics: ToDateString(tv)

  

执行以下步骤:

     
      
  1. 断言:Type(tv)是数字。

  2.   
  3. 如果电视为NaN,则返回“无效日期”。

  4.   
  5. 返回一个与实现有关的字符串值,该字符串值使用方便易读的形式将tv表示为当前时区中的日期和时间。

  6.   

不过,将来似乎会有一种标准格式。