zoukankan      html  css  js  c++  java
  • 如何比较两个时间字符串的大小

    方式一、后台

    现在有两个字符串,是从表单读取来的日期性,“2003-10-12”与“2003-10-21”,
    现在如何判断他们的大小。

    如果不想再转为date类型比较

    有一种简单的方法

    String a="2003-10-12";
    String b="2003-10-21";
    int result=a.compareTo(b);
    if (result==0)
    out.print("a=b");
    else if (result < 0 )
    out.print("a<b");
    else out.print("a>b");

    使用String类中的compareTo()方法比较。如:s1.compareTo(s2)
    但是这个方法有个缺点,就是要求两个参与比较的字符串的形式及长度必须相同才能够正确比较,否则,比较结果是错的.
    例如:
    s1 = "02";
    s2 = "12";
    这样比较是正确的.
    但如果是下面的样子,
    s1 = "2";
    s2 = "12";
    比较结果是错误的的

    转自http://www.cnblogs.com/xiaomuv587/archive/2012/12/21/2828106.html

     

    方式二、js

    <html>   
    <head>   
    <title>calendar-比较时间和日期大小-www.jb51.net</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;      
        }   
        }      
    }     
    
    //判断日期,时间大小  
    function compareTime(startDate, endDate) {   
     if (startDate.length > 0 && endDate.length > 0) {   
        var startDateTemp = startDate.split(" ");   
        var endDateTemp = endDate.split(" ");   
    
        var arrStartDate = startDateTemp[0].split("-");   
        var arrEndDate = endDateTemp[0].split("-");   
    
        var arrStartTime = startDateTemp[1].split(":");   
        var arrEndTime = endDateTemp[1].split(":");   
    
    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]);   
    
    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> 
    js

    转自http://www.jb51.net/article/45560.htm

  • 相关阅读:
    Oracle 分析函数(Analytic Functions) 说明
    Build Your Own Oracle RAC 10g Release 2 Cluster on Linux and FireWire
    Build Your Own Oracle RAC 10g Release 2 Cluster on Linux and FireWire
    ORACLE SEQUENCE 介绍
    RAC Ocfs2文件系统常见问题解决方法
    linux 下修改日期和时间
    寒假刷题之7——波纹
    iOS 游戏 Oh my fish! 切割痕迹实现
    ACM常识
    寒假刷题之6——迷宫
  • 原文地址:https://www.cnblogs.com/H2921306656/p/6141634.html
Copyright © 2011-2022 走看看