Java中时间的比较总结

11 篇文章 0 订阅

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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值