首页 > 代码库 > 如何比较两个时间字符串的大小
如何比较两个时间字符串的大小
方式一、后台
现在有两个字符串,是从表单读取来的日期性,“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>
转自:http://www.jb51.net/article/45560.htm
如何比较两个时间字符串的大小
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。