js比较两个日期大小 10

我要比较两个时间。时间是通过开窗获取的,格式基本上是这样的:2014-03-0212:00一个是开始时间,一个是结束时间。如果结束之间在开始时间前,或者相等,我就要弹出一... 我要比较两个时间。时间是通过开窗获取的,格式基本上是这样的:2014-03-02 12:00
一个是开始时间,一个是结束时间。如果结束之间在开始时间前,或者相等,我就要弹出一个提示框,让填表人去修改。
请问在js里面怎么处理。
展开
 我来答
百度网友2571d37bb
2015-10-08 · 知道合伙人软件行家
百度网友2571d37bb
知道合伙人软件行家
采纳数:1971 获赞数:7905
前端工程师

向TA提问 私信TA
展开全部

思路:

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

下面是简单的例子:

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');
yugi111
2014-03-12 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
<!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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqzhangkang
2014-03-11 · TA获得超过528个赞
知道小有建树答主
回答量:151
采纳率:57%
帮助的人:66.2万
展开全部
<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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dmxhappy
2014-03-11 · 超过22用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:63.1万
展开全部
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:手打的,自己试试,不行勿怪。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式