我对 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 和 IE 输出:
Join Date: Invalid Date
Current Date: Mon Feb 02 2015 09:49:41 GMT-0700 (MST)
Expiration Date: Invalid Date
最佳答案
是的。在某些版本的 IE 中,new date()
不会按预期返回。
您可能想要使用:
var currentDate = new Date();
var finalDate = currentDate.getFullYear() + "/" + (currentDate.getMonth() + 1) + "/" + currentDate.getDate();
顺便说一句,currentDate.getMonth() + 1
是因为它从0开始
关于javascript - Firefox 和 IE 中的日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282874/