js 比较日期大小

核心提示: js如何比较两个日期的大小,总结出比较简单的一种方法,供大家共同讨论。
JavaScript代码
  1.   
  2. function dateCompare(startdate,enddate)   
  3. {   
  4. var arr=startdate.split("-");    
  5. var starttime=new Date(arr[0],arr[1],arr[2]);    
  6. var starttimes=starttime.getTime();   
  7.   
  8. var arrs=enddate.split("-");    
  9. var lktime=new Date(arrs[0],arrs[1],arrs[2]);    
  10. var lktimes=lktime.getTime();   
  11.   
  12. if(starttimes>=lktimes)    
  13. {   
  14. return false;   
  15. }   
  16. else  
  17. return true;   
  18.   
  19. }  

 

第二种:

JavaScript代码
  1. //验证是否合法日期   
  2. function CheckDate(strDate){   
  3.       if(strDate.length>0){   
  4.      var reg= /^(/d )-(/d{1,2})-(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/;      
  5.        if(!reg.test(strDate)){      
  6.         return false;    
  7.        }   
  8.      }   
  9.      return true;   
  10.     }   
  11.   
  12.     
  13.   
  14. function isStartEndDate(startDate,endDate){   
  15.      //alert(startDate "===" endDate);   
  16.      if(startDate.length>0&&endDate.length>0){   
  17.       var startDateTemp = startDate.split(" ");   
  18.       var endDateTemp = endDate.split(" ");   
  19.       var arrStartDate = startDateTemp[0].split("-");   
  20.       var arrEndDate = endDateTemp[0].split("-");   
  21.       var arrStartTime = startDateTemp[1].split(":");   
  22.       var arrEndTime = endDateTemp[1].split(":");   
  23.       var allStartDate = new Date(arrStartDate[0],arrStartDate[1],arrStartDate[2],arrStartTime[0],arrStartTime[1],arrStartTime[2]);   
  24.       var allEndDate = new Date(arrEndDate[0],arrEndDate[1],arrEndDate[2],arrEndTime[0],arrEndTime[1],arrEndTime[2]);   
  25.       if(allStartDate.getTime()>allEndDate.getTime()){   
  26.        return false;   
  27.       }   
  28.      }   
  29.      return true;   
  30.     }   
  31.   
  32.     
  33.   
  34. function checkAskDate(StartDate,EndDate){   
  35.      if(!CheckDate(StartDate.value)){   
  36.       alert("开始日期格式不正确!/n正确格式为:2004-01-01 00:00");   
  37.       StartDate.focus();   
  38.       return false;   
  39.      }   
  40.      if(!CheckDate(EndDate.value)){   
  41.       alert("结束日期格式不正确!/n正确格式为:2004-01-01 00:00");   
  42.       EndDate.focus();   
  43.       return false;   
  44.      }   
  45.      if(!isStartEndDate(StartDate.value,EndDate.value)){   
  46.       alert("开始日期不能大于结束日期");   
  47.       return false;   
  48.      }   
  49.      return true;   
  50.     }   
  51.   
  52.     
  53.   
  54. ============================================================================   
  55.   
  56. 日期格式:XXXX年-XX月-XX日   
  57.   
  58. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">   
  59. <HTML>   
  60. <HEAD>   
  61. <TITLE> New document.</TITLE>   
  62. <SCRIPT LANGUAGE="javascript">   
  63.    function judgeDate()   
  64.    {   
  65.     var date1 = document.getElementById("dt1").value.replace(/-/g, "/");   
  66.     var date2 = document.getElementById("dt2").value.replace(/-/g, "/");      
  67.     var d1 = new Date(date1);   
  68.     var d2 = new Date(date2);   
  69.   
  70.     if(Date.parse(d1) - Date.parse(d2)==0)   
  71.     {   
  72.      alert(date1 "等于" date2)   
  73.     }   
  74.     if(Date.parse(d1) - Date.parse(d2)<0)   
  75.     {   
  76.      alert(date1 "晚于" date2)   
  77.     }   
  78.     if(Date.parse(d1) - Date.parse(d2)>0)   
  79.     {   
  80.      alert(date1 "早于" date2)   
  81.     }   
  82.       
  83.    }   
  84. </SCRIPT>   
  85. </HEAD>   
  86. <BODY>   
  87. <input id="dt1" value="2007-09-09" />   
  88. <input id="dt2" value="2007-10-10"/>   
  89. <input type="button" value="提交" οnclick="judgeDate()"/>   
  90. </BODY>   
  91. </HTML>   
  92.   
  93. =============================================================   
  94.   
  95. <script language="javascript">   
  96. function test(str1,str2)   
  97. {   
  98. var d1 = new Date(str1);   
  99. var d2 = new Date(str2);   
  100. if(Date.parse(d1) - Date.parse(d2)==0)   
  101. {   
  102. alert(str1 "等于" str2)   
  103. }   
  104. if(Date.parse(d1) - Date.parse(d2)<0)   
  105. {   
  106. alert(str1 "早于" str2)   
  107. }   
  108. if(Date.parse(d1) - Date.parse(d2)>0)   
  109. {   
  110. alert(str1 "晚于" str2)   
  111. }   
  112. }   
  113. </script>   
  114. <input type="button" value="确定" οnclick="test('2005/4/12','2006/4/12')">   
  115.   
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值