java处理日期时间 相加减

来源:互联网 发布:监控录像覆盖数据恢复 编辑:程序博客网 时间:2024/05/21 06:38

http://alexfc.javaeye.com/blog/363185

 

JAVA处理日期时间常用方法:

1.java.util.Calendar
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

 

 

得到2007-12-25日期:

 

java月份是从0-11,月份设置时要减1.

GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

取日期的部分:

 

取月份要加1.

判断当前月份的最大天数:

 

2.java.util.Date

取当月的第一天:

取当月的最后一天:

求两个日期之间相隔的天数:

 

一年前的日期:

一年后的日期:

求10小时后的时间

求10小时前的时间

3.java.sql.Date
继承自java.util.Date,是操作数据库用的日期类型

日期比较:简单的比较可以以字符串的形式直接比较,也可使用
java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式来比较日期的大小.也可使用java.util.Date.after(java.util.Date)来比较.

相差时间:
long difference=c2.getTimeInMillis()-c1.getTimeInMillis();
相差天数:long day=difference/(3600*24*1000)
相差小时:long hour=difference/(3600*1000)
相差分钟:long minute=difference/(60*1000)
相差秒: long second=difference/1000