Javascript String to Date适用于Chrome,而非FF或Safari

时间:2015-02-01 16:49:10

标签: javascript date firefox safari

我有一个以这种格式显示日期字符串的元素:     <div> ListDate: 2014-11-22 00:00:00.0 </div> 我有一个捕获该文本的变量,现在我除了日期字符串并尝试将其转换为日期以便我可以对其进行数学处理。我的代码在Chrome中工作正常,但始终在FF和Safari中返回NaN。这是javascript:

var listDate = " ListDate: 2014-11-22 00:00:00.0 ";
listDate = listDate.replace('ListDate:', '');
listDate = $.trim(listDate);
listDate = Date.parse(listDate);

我在Firebug中观看它,并且在Date.parse()之前它按预期执行。我尝试了this thread上显示的解决方案,但仍然没有运气。有任何想法吗?我无法控制html,它来自网络服务。

1 个答案:

答案 0 :(得分:1)

完整的ISO8601格式(IIRC)期望该字符串的日期和时间部分之间有大写字母“T”,例如“”2014-11-22 T 00:00:00.0“”https://en.wikipedia.org/wiki/ISO_8601(因此我建议您始终添加 T 分隔符。

E.g。以下代码将在某些浏览器中解析为 NaN

var myAlmostISODate = "2014-11-22 00:00:00.0";
console.log("Date: " + Date.parse(myAlmostISODate));
//IE11: NaN
//Firefox: 1416632400000
//Chrome: 1416632400000