【发布时间】:2013-02-01 14:39:37
【问题描述】:
我需要在 JavaScript 中解析日期。格式是
[2 位日]/[2 位月]/[4 位年] [2 位小时(24 模式)]:[2 位分钟]
例如,16/02/2013 21:00
但是如果我做new Date('16/02/2013 21:00').toString(),它会给出'Wed Apr 02 2014 21:00:00 GMT+0200 (Hora de verano romance)'。
我猜这是因为我的日期不符合 IETF RFC 2822 日期和时间规范。然后,我应该转换我的字符串,并且我想将它转换为最相似的兼容格式(因为它应该更容易转换)。但是https://www.rfc-editor.org/rfc/rfc2822#page-14很难理解,所以不知道哪种格式最相似。
是否有包含允许格式示例的列表?
【问题讨论】:
-
RFC2822 允许一位数的日值。需要注意的事情。
-
请注意,从 ECMAScript 2017 开始,ECMA-262 支持 2 种格式进行解析,其他任何格式都取决于实现。格式是为 Date.prototype.toString、toISOString 指定的格式(ISO 8601 扩展的轻微修改)。实现还必须支持它们为 toLocaleString 生成的任何内容,但格式本身没有指定。另见Why does Date.parse give incorrect results?
标签: javascript date datetime rfc rfc2822