JavaScript 日期比较在 IE8 中失败

标签 javascript date internet-explorer-8 date-comparison

我有一个函数可以将日期从 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/

相关文章:

css - 有人会在 IE 中查看这个背景问题吗?

Javascript 字符串替换不需要的输出

javascript - 是否可以输入 CSS 边框

r - 将儒略日期转换为数据框中的日历日期

javascript - Javascript 中的倒计时

jquery - IE 中奇怪的、罕见的透明 png 别名

javascript - 自动滑出导航加载?

javascript - 如何用javascript返回元素的默认显示样式?

mysql - 请求在sql db中查找时间最接近的元素

javascript - 为什么这个 JavaScript 适用于 FF 而不是 IE8