我有一个函数可以将日期从 DD/MM/YYYY 转换为 YYYY-MM-DD。
这适用于除 IE8 之外的所有浏览器,出于某种原因,在创建新的 Date 对象时,它返回 NaN。
代码的基本实现 http://jsfiddle.net/bX83c/1/
var compareDate = function(value){
var dateFragements = value.split('/');
if (dateFragements.length == 3) {
var currentDate = new Date();
currentDate.setHours(0, 0, 0, 0);
var startDate = new Date(dateFragements[2] + '-' + dateFragements[1] + '-' + dateFragements[0]);
if (startDate >= currentDate) {
return true;
} else {
return false;
}
}
}
alert(compareDate('17/09/2013'));
最佳答案
像这样初始化你的日期。它适用于所有浏览器
var startDate = new Date(dateFragements[2] , dateFragements[1] , dateFragements[0]);
Date
对象有 4 种使用构造函数初始化的方式
new Date() // current date and time
new Date(milliseconds) //milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
日期对象中的字符串并不意味着它将接受所有日期字符串。如果你想给一个字符串作为输入给这个。 (dateFragements[2] +'/' + dateFragements[1] + '/' + dateFragements[0]);。 (/
作为分隔符)所有浏览器都会支持
关于JavaScript 日期比较在 IE8 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632382/