我有两个日期,第一个日期是来自输入文本的字符串,如01-01-2011(dd-MM-yyyy),第二个日期是当前日期或系统日期(新日期())。
我必须将输入日期与当前日期(gretter或相等)进行比较。我正面临着NaN的问题,并没有在谷歌找到有效的帮助。
任何帮助都将受到赞赏。
答案 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>