我需要在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日期和时间规范。然后,我应该转换我的字符串,我想将其转换为最相似的兼容格式(因为它应该更容易转换)。但是http://tools.ietf.org/html/rfc2822#page-14很难理解,所以我不知道哪种格式最相似。
是否有包含允许格式示例的列表?
答案 0 :(得分:15)
MSDN有几个有效日期格式示例:
document.writeln((new Date("2010")).toUTCString());
document.writeln((new Date("2010-06")).toUTCString());
document.writeln((new Date("2010-06-09")).toUTCString());
// Specifies Z, which indicates UTC time.
document.writeln((new Date("2010-06-09T15:20:00Z")).toUTCString());
// Specifies -07:00 offset, which is equivalent to Pacific Daylight time.
document.writeln((new Date("2010-06-09T15:20:00-07:00")).toGMTString());
// Specifies a non-ISO Long date.
document.writeln((new Date("June 9, 2010")).toUTCString());
// Specifies a non-ISO Long date.
document.writeln((new Date("2010 June 9")).toUTCString());
// Specifies a non-ISO Short date and time.
document.writeln((new Date("6/9/2010 3:20 pm")).toUTCString());
// Output:
// Fri, 1 Jan 2010 00:00:00 UTC
// Tue, 1 Jun 2010 00:00:00 UTC
// Wed, 9 Jun 2010 00:00:00 UTC
// Wed, 9 Jun 2010 15:20:00 UTC
// Wed, 9 Jun 2010 22:20:00 UTC
// Wed, 9 Jun 2010 07:00:00 UTC
// Wed, 9 Jun 2010 07:00:00 UTC
// Wed, 9 Jun 2010 22:20:00 UTC
还有一个cross-browser inconsistencies的矩阵。
<强>参考强>
答案 1 :(得分:0)
这个问题似乎在问“ ECMSCript实现需要解析什么格式”。
在ECMAScript Ed 5(2011)之前,解析完全取决于实现。要求ECMAScript实现解析的格式可以总结为:
任何其他格式的解析都依赖于实现,并且存在差异,因此一般规则是“不要使用内置解析器”。