DateUtils日期操作工具类

DateUtils常用方法

1.1.常用的日期判断

  • isSameDay(final Date date1, final Date date2):判断两个时间是否是同一天
  • isSameInstant(final Date date1, final Date date2):判断两个时间是否为同一毫秒

1.2.日期的基本操作

String转Date

 DateUtils.parseDate("20181223 12:34:23",  Locale.TRADITIONAL_CHINESE,"yyyy-MM-dd HH:mm:ss");

Date转String

DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss");

日期加减

addYears(final Date date, final int amount),对日期进行加减年分操作,amount为正数表示加,负数表示减。同理,还有addMonths加减月份,addDays加减日,addWeeks加减周,addHours加减小时,addMinutes加减分钟等方法,具体使用可以参看源码。

Date date = DateUtils.addYears(new Date(), 3);

 

日期设置

setYears(final Date date, final int amount),给指定的日期设置指定的年份,同理,setMonths设置月份,setDays设置日,setHours设置小时等等方法。

Date date1 = DateUtils.setYears(new Date(), 2018);

日期四舍五入

round(final Date date, final int field),将指定的日期中指定的部分四舍五入,四舍五入的 常量有Calendar.YEARCalendar.MONTHCalendar.HOUR_OF_DAYCalendar.DAY_OF_MONTHCalendar.HOURCalendar.MINUTE等;

/*当前时间:2018-11-25 00:50:57,结果为:2019-01-01 00:00:00*/ 
Date round = DateUtils.round(new Date(), Calendar.YEAR);

日期截取

truncate(final Date date, final int field)round差距在于不会四舍五入,截取的常量字段有Calendar.YEARCalendar.MONTHCalendar.HOUR_OF_DAYCalendar.DAY_OF_MONTHCalendar.HOURCalendar.MINUTE等。

/*当前时间:2018-11-25 00:58:03 ,结果为:2018-01-01 00:00:00*/
Date truncate = DateUtils.truncate(new Date(), Calendar.YEAR);

 

获取指定时间的天数

getFragmentInDays(final Date date, final int fragment)获取指定时间的天数,fragment可以是Calendar.YEAR获取年已经过了多少天,同理,Calendar.MONTH月份过去了多少天,当然还有getFragmentInSeconds过去多少秒,getFragmentInMinutes过去多少分钟,getFragmentInHours过去多少小时等。

/*当前时间:2018-11-25 00:58:03 ,结果为:329*/
long fragmentInDays = DateUtils.getFragmentInDays(new Date(), Calendar.YEAR);

比较日历字段是否相等

truncatedEquals(final Date date1, final Date date2, final int field)可以比较年,月,日等日历字段。

boolean b = DateUtils.truncatedEquals(new Date(), new Date(), Calendar.YEAR);
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值