我有一个将日期从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)

Date对象中的String并不意味着它将接受所有日期字符串。如果要提供一个字符串作为输入,请给出此信息。 (dateFragements [2] +'/'+ dateFragements [1] +'/'+ dateFragements [0]);。 (以/作为分隔符)所有浏览器均支持

10-06 01:16