Jquery Date.parse在Chrome浏览器中返回NaN?

时间:2011-11-01 10:06:20

标签: javascript jquery google-chrome

我有一个senario,我必须解析两个日期,例如开始日期和结束日期。

var startdate = '02/01/2011';
var enddate = '31/12/2011';

但是如果我们提醒开始日期

 alert(Date.Parse(startdate)); i will get 1296498600000

但如果我提醒enddate

 alert(Date.Parse(enddate)); i will get NaN

但这适用于除Chrome以外的其他浏览器,但在其他浏览器中

alert(Date.Parse(enddate)); i will get 1370889000000

有人可以知道解决方法吗?

2 个答案:

答案 0 :(得分:11)

如果您要解析没有本地差异的日期,请使用以下内容,而不是Date.parse()

var enddate = '31/12/2011'; //DD/MM/YYYY
var split = enddate.split('/');
// Month is zero-indexed so subtract one from the month inside the constructor
var date = new Date(split[2], split[1] - 1, split[0]); //Y M D 
var timestamp = date.getTime();

另请参阅:Date

答案 1 :(得分:2)

根据this

  

dateString       表示RFC822或ISO 8601日期的字符串。

我已经尝试了你的代码,我也得到NaN的结束日期,但如果我交换日期和月份,它就可以正常工作。