DateUtils常用方法
一、DateUtils常用方法
1.1.常用的日期判断
isSameDay(final Date date1, final Date date2)
:判断两个时间是否是同一天;isSameInstant(final Date date1, final Date date2)
:判断两个时间是否为同一毫秒
常用的时间判断示例代码
1 2 | DateUtils.isSameDay( new Date(), new Date()); DateUtils.isSameInstant( new Date(), new Date()); |
1.2.日期的基本操作
String转Date
parseDate(final String str, final Locale locale, final String... parsePatterns) throws ParseException
DateUtils.parseDate("20181223 12:34:23", Locale.TRADITIONAL_CHINESE,"yyyy-MM-dd HH:mm:ss");
Date转String
可以使用DateFormatUtils.format()
方法
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.YEAR
和Calendar.MONTH
、Calendar.HOUR_OF_DAY
、Calendar.DAY_OF_MONTH
、Calendar.HOUR
、Calendar.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.YEAR
和Calendar.MONTH
、Calendar.HOUR_OF_DAY
、Calendar.DAY_OF_MONTH
、Calendar.HOUR
、Calendar.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);
作者:技术小工 出处:https://www.cnblogs.com/qianpangzi/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果喜欢我的文章,扫描右边二维码关注我的公众号,每周一到周五更新技术文章 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入
· .NET 开发的分流抢票软件,不做广告、不收集隐私
· ASP.NET Core - 日志记录系统(二)
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 实现windows下简单的自动化窗口管理