1,比较日期大小的js代码

今天在测试该需求的时候碰到后台要我做一个判定,判定某一个提交的数据时间不能小于当前日期,然后因为input中时间只显示年月日xxxx-xx-xx;然后我获取当前的数据转换成这种格式会带有具体的时分,所以就不能单纯的用new
Date(要比较的时间)这样的方式来比较大小,然后就看到可以这样单独拿出来后再去比较!后面也会贴出比较具体时间的方法。

澳门皇冠金沙网站 ,一般情况下:

复制代码 代码如下:

// 别处调用该js 方法 ,获得 函数结果为 true 或者 false 
// stime = '2015-07-23';
// etime = '2015-07-24';
// var fag = checkTime(stime,etime);
// 获得 fag 就为 true; 
// 比较两个时间字符串的大小关系 返回 true 或 false
function checkTime(stime,etime){
        var sdate= new Date(stime);    
        var edate= new Date(etime);         
        var smonth=sdate.getMonth()+1;
        var syear =sdate.getFullYear();
        var sday = sdate.getDate();      
        var emonth=edate.getMonth()+1;
        var eyear =edate.getFullYear();
        var eday = edate.getDate();    
        if(syear>eyear){
            return false;
        }else{     
            if(smonth>emonth){
                return false;
            }else{      
                if(sday>eday){
                    return false;
                }else{
                    return true;
                }
            }
        }
    }
if(2 > 10)
{
alert("不正确!");
} 

<script>
var beginDate=$(“#beginDate”).val(); 
 var endDate=$(“#endDate”).val(); 
 var d1 = new Date(beginDate.replace(/\-/g, “\/”)); 
 var d2 = new Date(endDate.replace(/\-/g, “\/”)); 

上面这种是我第一时间写的,后面就是在网上看的,不过不想改了,需求过了就好

此比较不会是想要的结果:它相当于2 >1,把10的第一位取出来比较。

  if(beginDate!=””&&endDate!=””&&d1 >=d2) 
 { 
  alert(“开始时间不能大于结束时间!”); 
  return false; 
 }
 </script>

       function dateCompare(startDate, endDate) {
            var Start = startDate.split('-'); //转成成数组,分别为年,月,日,下同
            var End = endDate.split('-');
            var startDateTemp = Start[0] + "/" + Start[1] + "/" + Start[2];
            var endDateTemp = End[0] + "/" + End[1] + "/" + End[2];
            if (startDateTemp < endDateTemp){
                console.log("小于");
            }
            else{
                console.log("大于或者等于");
            }
        }
        var startDate1 = "2017-9-24";
        var endDate1 = "2017-8-29";
        dateCompare(startDate1, endDate1);

解决方法:

2,Js比较时间和日期大小

然后还有一种就是比较具体的大小,连几点几分都算进去的那种

if(eval(2) > eval(10))
{
alert("不正确!");
} 

复制代码 代码如下:

        function dateCompare(startDate, endDate) {
            var Start = new Date(startDate);
            var End = new Date(endDate);
            console.log(Start);
            console.log(End);//这里打印两者的时间  可以直观了解
            if (Start < End){
                console.log("小于");
            }
            else{
                console.log("大于或者等于");
            }
        }
        var startDate1 = "2017-8-29 00:00:01";
        var endDate1 = "2017-8-29 00:00:02";
        dateCompare(startDate1, endDate1);

 eval()函数用于在不引用任何特定对象的情况下计算代码字符串。

<html>  
<head>  
<title>calendar-比较时间和日期大小-www.jbxue.com</title>  
<script type=”text/javascript”
src=”CalendarFramework.js”></script>  
</head>  
<body>  
开始时间:<input onfocus=”setday(this)” id=”startTime”
name=”startTime”>到    
结束时间:<input onfocus=”setday(this)” id=”endTime”
name=”endTime”>  
          <input type=”button” onclick=”checkTime()”
value=”校验”/>  
          </body>  
<script type=”text/javascript” >  
checkTime = function() {  
    var startTime = document.getElementById(“startTime”).value;  
    var endTime = document.getElementById(“endTime”).value;  
    compareCalendar(startTime, endTime);        
}  
//比较日前大小 
function compareDate(checkStartDate, checkEndDate) {     
    var arys1= new Array();     
    var arys2= new Array();     
if(checkStartDate != null && checkEndDate != null) {     
    arys1=checkStartDate.split(‘-‘);     
      var sdate=new
Date(arys1[0],parseInt(arys1[1]-1),arys1[2]);     
    arys2=checkEndDate.split(‘-‘);     
    var edate=new
Date(arys2[0],parseInt(arys2[1]-1),arys2[2]);     
if(sdate > edate) {     
    alert(“日期开始时间大于结束时间”);        
    return false;        
}  else {  
    alert(“通过”);  
    return true;     
    }  
    }     
}    

既然都到这了,那就说下怎么让获取的new Date变为 yyyy-mm-dd这种格式吧

<script>  
 function  check()  
 {  
 var  num1=document.form1.num1.value;  
 var  num2=document.form1.num2.value;  
 if(num2>num1)  <!-错误写法-->
 {  
 alert('num2  >  num1!');  
 return  false;  
 }  
 return  true;  
 }  
 </script> 


<script>  
 function  check()  
 {  
 var  num1=document.form1.num1.value;  
 var  num2=document.form1.num2.value;  
 if(parseInt(num2)>parseInt(num1))  <!-正确写法(转换成INT)-->
 {  
 alert('num2  >  num1!');  
 return  false;  
 }  
 return  true;  
 }  
 </script> 

//判断日期,时间大小 
function compareTime(startDate, endDate) {  
 if (startDate.length > 0 && endDate.length > 0) {  
    var startDateTemp = startDate.split(” “);  
    var endDateTemp = endDate.split(” “);  

var today = new Date();//获取系统时间
var strDate = date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate();

EG:

    var arrStartDate = startDateTemp[0].split(“-“);  
    var arrEndDate = endDateTemp[0].split(“-“);  

110和18在你写的程序中是18大的,因为  

    var arrStartTime = startDateTemp[1].split(“:”);  
    var arrEndTime = endDateTemp[1].split(“:”);  

这两个数都是字符串,而1和1相等之后比较1和8,当然是8大,所以18大  

var allStartDate = new Date(arrStartDate[0], arrStartDate[1],
arrStartDate[2], arrStartTime[0], arrStartTime[1],
arrStartTime[2]);  
var allEndDate = new Date(arrEndDate[0], arrEndDate[1],
arrEndDate[2], arrEndTime[0], arrEndTime[1], arrEndTime[2]);  

你在比较之前转换成INT型在比  

if (allStartDate.getTime() >= allEndDate.getTime()) {  
        alert(“startTime不能大于endTime,不能通过”);  
        return false;  
} else {  
    alert(“startTime小于endTime,所以通过了”);  
    return true;  
       }  
} else {  
    alert(“时间不能为空”);  
    return false;  
      }  
}  
//比较日期,时间大小 
function compareCalendar(startDate, endDate) {  
if (startDate.indexOf(” “) != -1 && endDate.indexOf(” “) != -1 ) {  
    //包含时间,日期 
        compareTime(startDate, endDate);              
} else {  
    //不包含时间,只包含日期 
    compareDate(startDate, endDate);  
      }  
}  
</script>  
</html>

if(parseInt(num2)>parseInt(num1))

复制代码 代码如下: script
var beginDate=$(“#beginDate”).val(); var endDate=$(“#endDate”).val();
var d1 = new Date(beginDate.replace(/\-/g,…

以上这篇JS比较两个数值的大小实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • 如何用JS判断两个数字的大小

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图