Apache DateUtils
1.1.常用的日期判断
isSameDay(final Date date1, final Date date2)
:判断两个时间是否是同一天;isSameInstant(final Date date1, final Date date2)
:判断两个时间是否为同一毫秒
常用的时间判断示例代码
1.2.日期的基本操作
String转Date
parseDate(final String str, final Locale locale, final String... parsePatterns) throws ParseException
Date转String
可以使用DateFormatUtils.format()
方法
日期加减
addYears(final Date date, final int amount)
,对日期进行加减年分操作,amount
为正数表示加,负数表示减。同理,还有addMonths
加减月份,addDays
加减日,addWeeks
加减周,addHours
加减小时,addMinutes
加减分钟等方法,具体使用可以参看源码。
日期设置
setYears(final Date date, final int amount)
,给指定的日期设置指定的年份,同理,setMonths
设置月份,setDays
设置日,setHours
设置小时等等方法。
日期四舍五入
round(final Date date, final int field)
,将指定的日期中指定的部分四舍五入,四舍五入的 常量有Calendar.YEAR
和Calendar.MONTH
、Calendar.HOUR_OF_DAY
、Calendar.DAY_OF_MONTH
、Calendar.HOUR
、Calendar.MINUTE
等;
日期截取
truncate(final Date date, final int field)
和round
差距在于不会四舍五入,截取的常量字段有Calendar.YEAR
和Calendar.MONTH
、Calendar.HOUR_OF_DAY
、Calendar.DAY_OF_MONTH
、Calendar.HOUR
、Calendar.MINUTE
等。
获取指定时间的天数
getFragmentInDays(final Date date, final int fragment)
获取指定时间的天数,fragment
可以是Calendar.YEAR
获取年已经过了多少天,同理,Calendar.MONTH
月份过去了多少天,当然还有getFragmentInSeconds
过去多少秒,getFragmentInMinutes
过去多少分钟,getFragmentInHours
过去多少小时等。
比较日历字段是否相等
truncatedEquals(final Date date1, final Date date2, final int field)
可以比较年,月,日等日历字段。