js时间比较

把想要比较的时间如2017-3-23转变为数组,然后用new Date()转为可对比的标准时间。
用一个时间比较函数实现。

<html>
<head>
<meta charset="UTF-8">
<title>qdabc.cn</title>
</head>
<body>
        <div id="nowTime"></div>
        <div id="start">开始时间为2017-03-23</div>
        <div id="startTime"></div><!--当前时间与开始时间,返回的时间比较状态-->        
        <div id="end">结束时间为2019-4-13</div>
        <div id="endTime"></div><!--当前时间与结束时间,返回的时间比较状态-->        
</body>
<script>
        function comparaDate(nowArr,dateArr){//比较时间大小
                var nowDay = new Date(nowArr[0],nowArr[1],nowArr[2]);//使用new Date()把数组转化为时间
                var day = new Date(dateArr[0],dateArr[1],dateArr[2]);
                
                if(nowDay < day){//nowDay比day早,返回0
                        return 0;
                }
                if(nowDay == day){//nowDay与day相等,返回1
                        return 1;
                }
                if(nowDay > day){//nowDay比day晚,返回2
                        return 2;
                }
        }
        var date=new Date();
        var year = date.getFullYear();     //年   
        var month = date.getMonth() + 1;   //月   
        var day = date.getDate();  //日
        var nowTimeArr = [year,month,day];

        var startTime = (year-1)+'-'+month+'-'+day;//获取时间,可自己定义
        var startTimeArr = startTime.split('-');

        var endTime =(year+1)+'-'+month+'-'+day;//获取时间,可自己定义
        var endTimeArr = endTime.split('-');

        var nowToStartStatus = comparaDate(nowTimeArr,startTimeArr);//现在时间比开始时间
        var nowToEndStatus = comparaDate(nowTimeArr,endTimeArr);//现在时间比结束时间
        document.getElementById("startTime").innerHTML=nowToStartStatus;
        document.getElementById("endTime").innerHTML=nowToEndStatus;
        document.getElementById("start").innerHTML='开始时间为'+(year-1)+'-'+month+'-'+day;
        document.getElementById("nowTime").innerHTML='当前时间为'+year+'-'+month+'-'+day;
        document.getElementById("end").innerHTML='结束时间为'+(year+1)+'-'+month+'-'+day;
</script>
</html>

欢迎分享本文,转载请保留出处:前端ABC » js时间比较

分享到:更多 ()

发表评论 0