Java中时间的比较总结

来源:互联网 发布:mac 列出文件路径 命令 编辑:程序博客网 时间:2024/04/29 02:23

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){}
0 0
原创粉丝点击