Javascript 字符串日期与系统日期比较

Javascript 字符串日期与系统日期比较,javascript,Javascript,我有两个日期,第一个日期是来自输入文本的字符串,如01-01-2011(dd-MM-yyyy),第二个日期是当前日期或系统日期(new date()) 我必须将输入日期与当前日期(更大或相等)进行比较。我面临着NaN的问题,并没有在谷歌找到有效的帮助 任何帮助都将不胜感激。请尝试以下代码片段 var from = "13-05-2014".split("-"); var dt1 = new Date(from[2], from[1] - 1, from[0]); var dt2 = new Da

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

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


任何帮助都将不胜感激。

请尝试以下代码片段

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");
}
如果你想在细节格式的差异,然后请检查链接

和这个日期比较一下

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

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];
}
函数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(); 如果(d1 如果返回[0,0,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>
Date.prototype.format=function(){ var year=this.getFullYear(); var month=this.getMonth(); var date=this.getDate(); 返回年份+“-”+月份+“-”+日期; } var usrdate=新日期(); usrdate.setFullYear(2014,4,13); usrdate=usrdate.format(); 函数比较(usrdate) { var sysdate=new Date().format(); 如果(sysdate>usrdate) 警报(“系统日期更大”);
else if(sysdate)字符串是什么样子的?该日期显然无效。您的代码是什么样子的?您的输入文本错误日期字符串是这样的01-01-2011(dd-MM-yyyy)。
<!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>