var exampleDate='23-12-2010 23:12:00';
我想将上面的字符串转换为date
并尝试了几件事:
var date = new Date(exampleDate); //returns invalid Date
var date1 = Date.parse(exampleDate); //returns NAN
这段代码运行良好IE
and Opera
, but date
返回给我一个无效的Date
and date1
正在返回NAN
在火狐浏览器中。我应该怎么办?
您的示例中的字符串不是浏览器识别的任何标准格式。 ECMAScript 规范要求浏览器只能解析一种标准格式:
格式如下:YYYY-MM-DDTHH:mm:ss.sssZ
此格式包括仅日期形式:
YYYY
YYYY-MM
YYYY-MM-DD
它还包括仅包含时间的表单,并附加了可选的时区偏移量:
THH:mm
THH:mm:ss
THH:mm:ss.sss
还包括“日期时间”,它可以是上述的任意组合。
如果字符串不符合该格式,该函数可能会回退到任何
特定于实现的启发法或特定于实现的日期格式。无法识别的字符串或日期
String 格式中包含非法元素值将导致 Date.parse 返回 NaN。
所以在你的例子中,使用2010-12-23T23:12:00
是唯一保证可以工作的字符串。实际上,大多数浏览器也允许以下格式的日期DD Month YYYY
or Month DD, YYYY
,所以字符串就像23 Dec 2010
and Dec 23, 2010
也可以工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)