字符串日期到系统日期比较

时间:2014-05-14 11:01:00

标签: javascript

我有两个日期,第一个日期是来自输入文本的字符串,如01-01-2011(dd-MM-yyyy),第二个日期是当前日期或系统日期(新日期())。

我必须将输入日期与当前日期(gretter或相等)进行比较。我正面临着NaN的问题,并没有在谷歌找到有效的帮助。

任何帮助都将受到赞赏。

3 个答案:

答案 0 :(得分:1)

请尝试使用以下代码段。

var from = "13-05-2014".split("-");
var dt1 = new Date(from[2], from[1] - 1, from[0]);
var dt2 = new Date();
if (dt1 - dt2 > 0) {
    alert("current or future date");
}

如果您想要详细信息格式,请查看this链接。

答案 1 :(得分:0)

var date=new Date();
var today= date.getDate()+"-"+(date.getMonth()-1)+"-"+date.getFullYear();

并与此日期进行比较

或 制作两个日期并使用此方法

function datediff(date1, date2) {
    var y1 = date1.getFullYear();
    var m1 = date1.getMonth();
    var d1 = date1.getDate();
    var y2 = date2.getFullYear();
    var m2 = date2.getMonth();
    var d2 = date2.getDate();
    if (d1 < d2) {
        m1--;
        var date=new Date(y2, m2, 1, 12);
        date.setDate(0);
        d1 += date.getDate();
    }
    if (m1 < m2) {
        y1--;
        m1 += 12;
    }
    return [y1 - y2, m1 - m2, d1 - d2];
}

如果它返回[0,0,0]两个日期相等

答案 2 :(得分:0)

<!DOCTYPE html>
<html>
<head>
<script>

Date.prototype.format=function(){
    var year=this.getFullYear();
    var month=this.getMonth();
    var date=this.getDate();
    return year+"-"+month+"-"+date;
}

var usrdate=new Date();
usrdate.setFullYear(2014,4,13);
usrdate=usrdate.format();

function compare(usrdate)
{
    var sysdate=new Date().format();
    if(sysdate>usrdate)
       alert("System Date is greater");
    else if(sysdate<usrdate)
       alert("User Date is greater");
    else
       alert("Both date is equal");
}

</script>
</head>
<body>
<p onclick="compare(usrdate);">Compare Date </p> 
</body>
</html>