Firefox中的日期问题& IE

时间:2015-02-02 17:03:31

标签: javascript date

我对Javascript仍然相当新,但我遇到日期问题。我的下面的代码在Chrome,Safari和Opera中运行良好,但在Firefox& IE,显示"无效日期。"我不确定为什么当它在其他浏览器中工作时它们不起作用。任何帮助,将不胜感激。这是我的代码:

// Perl variable brings in the enrollment date
var enrollDate = new Date(user.joinDate); 
var currentDate = new Date();
var expirationDate = new Date(enrollDate);
expirationDate.setDate(enrollDate.getDate()+7);

$('.hide-mailingAddress').addClass('hidden');
  if (currentDate <= expirationDate) {
  $('.show-mailingAddress').removeClass('hidden');
              }

console.log("Join Date: " + enrollDate);
console.log("Current Date: " + currentDate);
console.log("Expiration Date: " + expirationDate);

以下是Chrome,Safari,Opera输出的内容:

Join Date: Mon Dec 08 2014 00:00:00 GMT-0700 (MST)
Current Date: Mon Feb 02 2015 09:54:27 GMT-0700 (MST)
Expiration Date: Mon Dec 15 2014 00:00:00 GMT-0700 (MST) 

Firefox&amp; IE输出:

Join Date: Invalid Date
Current Date: Mon Feb 02 2015 09:49:41 GMT-0700 (MST)
Expiration Date: Invalid Date

2 个答案:

答案 0 :(得分:2)

是。在某些版本的IE new date()中没有按预期返回。 您可能想要使用:

var currentDate = new Date();
var finalDate   = currentDate.getFullYear() + "/" + (currentDate.getMonth() + 1) + "/" + currentDate.getDate();

顺便说一下,currentDate.getMonth() + 1是因为它从 0

开始

答案 1 :(得分:0)

我怀疑user.joinDate是带引号的字符串:

如:'“2014年12月8日星期一00:00:00 GMT-0700(MST)”'

这一额外的引号集在Internet Explorer中失败,但Chrome解析得很好。

new Date('"Mon Dec 08 2014 00:00:00 GMT-0700 (MST)"')