Java中时间的比较总结

Java中时间的比较总结

今天有一个需求是看当前时间是不是给定的时间范围内,做一个总结。
方法一:

DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); 
String dateBegin=fmt.format(carrierCommand.getDateBegin()); 
String dateEnd=fmt.format(carrierCommand.getDateEnd()); 
//如果获得的日期格式不是'2008-05-22',就必须要格式化一下日期 
String dateBegin = request.getParameter("dateBegin"); 
String dateEnd = request.getParameter("dateEnd"); 
if(java.sql.Date.valueOf(dateBegin).after(java.sql.Date.valueOf(dateEnd))){ 
//起始日期大于结束日期 
errors.rejectValue("dateEnd", null, "起始日期必须小于结束日期!"); 
} 
StringBuffer timeBegin = new StringBuffer(); 
StringBuffer timeEnd = new StringBuffer(); 
timeBegin.append(request.getParameter("timeBegin")); 
timeEnd.append(request.getParameter("timeEnd")); 
timeBegin.append(":00"); 
timeEnd.append(":00"); 
if(java.sql.Date.valueOf(dateBegin).equals(java.sql.Date.valueOf(dateEnd))) 
{ //起始日期等于结束日期 
if(java.sql.Time.valueOf(timeBegin.toString()).equals(java.sql.Time.valueOf(timeEnd.toString())))//时间相同 
{ 
errors.rejectValue("timeEnd", null, "起始与结束日期相同,起始时间必须小于结束时间!"); 
} 
if(java.sql.Time.valueOf(timeBegin.toString()).after(java.sql.Time.valueOf (timeEnd.toString())))//时间相同 
{ 
errors.rejectValue("timeEnd", null, "起始与结束日期相同,起始时间必须小于结束时间!"); 
} 

方法2:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; 
/**
*
* @author hp
*/
public class test {
public static void main(String args[]) {
int i= compare_date("1995-11-12 15:21", "1999-12-11 09:59");
System.out.println("i=="+i);
}
public static int compare_date(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
System.out.println("dt1 在dt2前");
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
System.out.println("dt1在dt2后");
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
}

方法3:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d1 = df.parse("2004-03-26 13:31:40");
Date d2 = df.parse("2004-01-02 11:30:24");
long diff = d1.getTime() - d2.getTime();
long days = diff / (1000 * 60 * 60 * 24);
}
catch (Exception e)
{
}
展开阅读全文

没有更多推荐了,返回首页