javascript - 为什么 Date().toLocaleString 在 nodejs 中返回的值与浏览器不同?
问题描述
在 chrome 上执行new Date().toLocaleString()
时返回“5/2/2019, 11:55:00 AM”,
在 nodejs 上执行相同的代码返回
“2019 年 5 月 2 日,11:55:00”,没有上午/下午
我需要有一个 12 小时格式的日期,在 nodejs 中提到的 AM/PM 类似于浏览器中返回的日期。
我错过了什么,这是预期的行为吗?
解决方案
它依赖于实现,即不同的实现可以返回不同的字符串格式。
20.3.4.41 日期.prototype.toString()
执行以下步骤:
...否则,让 tv 成为这个时间值。返回 ToDateString(tv)。
20.3.4.41.1 运行时语义:ToDateString(tv)
执行以下步骤:
断言:类型(电视)是数字。
如果 tv 为 NaN,则返回“无效日期”。
返回一个依赖于实现的String 值,它使用一种方便的、人类可读的形式将 tv 表示为当前时区中的日期和时间。
不过,似乎将来会有一种标准格式。
推荐阅读
- azure - 等待活动中的等待时间可以变化吗?
- php - 我的会话没有建立
- ios - 在 UITableView Swift 中添加 UIView 高于所有部分
- python - raise_() 函数被忽略
- .net - .NET core 2.0 中的 Cookie,带有 SAML 身份验证
- r - 结合缺失值的字符串
- python - 如何使用 mapPartitions 在 RDD 的分区上运行 python 用户定义函数?
- javascript - php - 发送多个 POST 请求时遇到问题
- java - 我需要使用 java 中的 XML 请求结构向 api 发送 POST 请求
- amazon-web-services - 如何根据模式匹配在 AWS s3 中查找文件