js比较两个日期大小

我要比较两个时间。时间是通过开窗获取的,格式基本上是这样的:2014-03-02 12:00
一个是开始时间,一个是结束时间。如果结束之间在开始时间前,或者相等,我就要弹出一个提示框,让填表人去修改。
请问在js里面怎么处理。

思路:

先都转换成日期。然后再用毫秒数进行比较。

下面是简单的例子:

function tab(date1,date2){
    var oDate1 = new Date(date1);
    var oDate2 = new Date(date2);
    if(oDate1.getTime() > oDate2.getTime()){
        console.log('第一个大');
    } else {
        console.log('第二个大');
    }
}
tab('2015-10-10','2015-10-11');
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-12
<!DOCTYPE HTML>
<html>
<head>
<meta charset=UTF-8 />
<title>Page Title</title>
<script>
window.onload = function() 
{
var reg = /^\s*|\s*$/g;
    var t1 = document.getElementById("t1").value.replace(reg, "");
    var t2 = document.getElementById("t2").value.replace(reg, "");
    reg = /^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d*)$/;
    if (!reg.test(t1) || !reg.test(t2)) {
      throw new Error("Date Format is Error !");
      return;
    }
    var d1 = new Date(t1.replace(reg, "$1"), parseInt(t1.replace(reg, "$2")) - 1, t1.replace(reg, "$3"));
    d1.setHours(t1.replace(reg, "$4"), t1.replace(reg, "$5"), t1.replace(reg, "$6"));
    var d2 = new Date(t2.replace(reg, "$1"), parseInt(t2.replace(reg, "$2")) - 1, t2.replace(reg, "$3"));
    d2.setHours(t2.replace(reg, "$4"), t2.replace(reg, "$5"), t2.replace(reg, "$6"));
    if (d1 > d2) {
        alert("error");
    }
}
</script>
</head>
<body>
<input type="text" id="t1" value="2014-03-02 12:00:01" />
<input type="text" id="t2" value="2014-03-02 12:00:00"  />
</body>
</html>

第2个回答  2014-03-11
<script type="text/javascript">
function compare(beforeTime,endTime){
//beforeTime/endTime的格式2014-03-11 12:00
if(todate(endTime) <= todate(beforeTime)){
//这里作处理
}

}

function todate(str_time){
//格式2014-03-11 12:00
var dateArr = str_time.substring(0,10).split('-');
var timeArr = str_time.substring(11,16).split(':');
return new Date(parseInt(dateArr[0]),parseInt(dateArr[1]) - 1,parseInt(dateArr[2]),parseInt(timeArr[0]),parseInt(timeArr[1]));
}

</script>
第3个回答  2014-03-11
var time_str1 = document.getElementById('timetext1').value;
var time_str2 = document.getElementById('timetext2').value;
if(time_str1 !== '' && time_str2 !== ''){
var time1 = new Date(time_str1.replace(/-/g,"/"));
var time2 = new Date(time_str2.replace(/-/g,"/"));
if(time1 === time2){
alert('=');
}
else if(time1 > time2){
alert('>');
}
else{
alert('<');
}
else{
alert('empty');
}
ps:手打的,自己试试,不行勿怪。