正确的Javascript Date.parse(...)格式字符串?

时间:2009-07-06 19:24:34

标签: javascript parsing date string-formatting

构造字符串的文化不变方法是什么,Javascript Date()构造函数可以解析它并创建正确的日期对象?

我尝试过这些不起作用的格式字符串(使用C#生成字符串):

clientDate.ToString();
// gives: "11/05/2009 17:35:23 +00:00"

clientDate.ToString("MMM' 'dd', 'yyyy' 'h':'mm':'ss' 'tt");
// works on an English server
// but on a French server, gives: "mai 11, 2009 5:35:23"
// Javascript won't parse that.

clientDate.ToString("MM'-'dd'-'yyyy' 'HH':'mm':'ss")
// gives: 05-11-2009 17:35:23

什么是通用格式?

2 个答案:

答案 0 :(得分:19)

According to MDC

  

给定表示时间的字符串,parse返回时间值。它接受IETF标准(RFC 1123第5.2.14节及其他地方)日期语法:"Mon, 25 Dec 1995 13:30:00 GMT"。它理解美国大陆时区的缩写,但是对于一般用途,使用时区偏移,例如"Mon, 25 Dec 1995 13:30:00 GMT+0430"(格林威治子午线以东4小时30分钟)。如果未指定时区,则假定为本地时区。 GMT和UTC被认为是等效的。

如果您无法使用英语区域设置生成此格式,请尝试使用Date.UTC

答案 1 :(得分:1)

如果您想要一个Javascript可以解析的与语言环境无关的格式,您可以使用2013-03-31T16:36:57+0900。它至少在Node.js和Chrome中有效,所以我怀疑它是标准的。