首页 > 其他分享 >apache的时间工具类DateUtils

apache的时间工具类DateUtils

时间:2023-11-26 20:03:08浏览次数:34  
标签:DateUtils date Date 日期 apache new 工具 yyyyMMddHHmmss

org.apache.commons.lang3.DateUtils是Apache提供的时间工具类。

<!-- StringUtils、NumberUtils等工具类 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.10</version>
</dependency>

字符串转日期

parseDate()和parseDateStrictly()区别是:

parseDateStrictly()会严格校验时间格式,如示例中7月是没有32日的,所以会转换错误,而parseDate()可以正常转换,并不会报错。

Date date = DateUtils.parseDate("20230732010101", "yyyyMMddHHmmss");
//输出:20230801010101
Date date = DateUtils.parseDateStrictly("20230732010101", "yyyyMMddHHmmss");
//输出:java.text.ParseException: Unable to parse the date: 20230732010101

日期转字符串

DateFormatUtils.format(new Date(), "yyyyMMddHHmmss")
//输出:20230728155345

指定时间加减指定数量个周期

Date date = DateUtils.addDays(new Date(), 1);
DateFormatUtils.format(date, "yyyyMMddHHmmss");
//输出:20230729155137
Date date = DateUtils.addYears(new Date(), 1);
//输出:20240728155217

设置指定时间

Date date = DateUtils.setDays(new Date(), 10);
DateFormatUtils.format(date, "yyyyMMddHHmmss");
//输出:20230710155834
Date date = DateUtils.setMinutes(new Date(), 10);
DateFormatUtils.format(date, "yyyyMMddHHmmss");
//输出:20230728151009

根据指定时间获取一个时间范围

第一个参数是目标日期。

第二个参数是控制时间范围的,即:是周范围还是月范围,是将目标日期作为起始日期,还是中心日期。

//以当前时间为起始日期,以一周后日期为终止日期
Iterator<Calendar> it = DateUtils.iterator(new Date(), DateUtils.RANGE_WEEK_RELATIVE);
while(it.hasNext()) {
   Calendar c = it.next();
   System.out.println(DateFormatUtils.format(c.getTime(), "yyyyMMddHHmmss"));
}
//输出:
//20230728000000
//20230729000000
//20230730000000
//20230731000000
//20230801000000
//20230802000000
//20230803000000

判断两日期是否同天

//判断两日期是否同天
boolean same = DateUtils.isSameDay(new Date(), new Date());
//输出:true
//判断两日期是否同毫秒
boolean same = DateUtils.isSameInstant(new Date(), new Date());
//输出:true

获取日期上限

如果日期时间为2023年7月28日13:45:01:231,上限周期设置为HOUR,获取目标时间是:2023年7月28日14:00:00.000;如果上限周期是MONTH,获取目标时间是:2023年8月1日0:00:00.000。

Date date = DateUtils.ceiling(new Date(), Calendar.YEAR);
DateFormatUtils.format(date, "yyyyMMddHHmmss");
//输出:20240101000000

 

标签:DateUtils,date,Date,日期,apache,new,工具,yyyyMMddHHmmss
From: https://www.cnblogs.com/xfeiyun/p/17857419.html

相关文章

  • 【渗透测试】工具实践之AWVS
    AWVS安装及使⽤使⽤docker安装dockerpullxrsec/awvs启动镜像https://hub.docker.com/r/xrsec/awvs参考链接下载破解脚本,在本地执⾏登录⽤户名密码发起扫描转到“添加⽬标”⻚⾯以配置要扫描的新⽹站:dockerrun-it-d\--nameawvs\-p3443:3443\xrsec/awvs:latestwgethttps......
  • 蚂蚁SEO优化工具有哪些?
    在当今的数字化时代,网站已经成为企业展示自己的重要窗口。而要让网站在搜索引擎中获得更好的排名,SEO优化工具成为了必不可少的利器。那么,在繁多的SEO优化工具中,你究竟了解多少呢?本文将为你揭秘各种常用的SEO优化工具。如何联系蚂蚁seo?baidu搜索:如何联系蚂蚁SEO?baidu搜索:如何联系蚂......
  • apache的数组工具类ArrayUtils
    org.apache.commons.lang3.ArrayUtils是Apache提供的数组工具类。<!--StringUtils、NumberUtils等工具类--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.10</vers......
  • AnyTXT Searcher - 全文本搜索工具
    前往下载官方网站   初次使用,软件会对电脑内的文件进行检索,建立一个索引目录,来用于文件检索。检索时软件的右上角会不断跳动,当检索完成后,就会显示一个绿色的对号。   文件检索目录的建立不仅仅局限于文件名,还包括了文件中所包含的关键词,故初次建立检索目录时会花费3--5......
  • Spin 基于rust 开发的开源运行基于webassembly serverless 工具
    spin是基于rust开发的,可以用来开发以及运行基于webassemblyserverless服务的工具包含的特性提供了周边扩展 默认wasm只提供了基本类型的支持,wasm提供了不少扩展可以方便的支持不同语言的调用(比如网络,数据库访问)提供了快速应该开发的cli提供了服务部署的能力 包含了本......
  • mysql+php+apache的docker坏境搭建
    1:安装dockersudoaptinstalldocker.io2:安装mysqlsudodockerrun--privileged=true-di--restart=always--nameMySqlForPhp01-p55506:3306-eMYSQL_ROOT_PASSWORD=1234qwer-e--character-set-server=utf8mb4-e--collation-server=utf8mb4_unicode_cimysql:8.0......
  • apache的数字工具类NumberUtils
    org.apache.commons.lang3.NumberUtils<!--StringUtils、NumberUtils等工具类--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.10</version></de......
  • 文件读取和写入工具类
    JavaIO流共涉及40多个类,但基类只有四个:InputStream/Reader:所有输入流的基类,前者是字节输入流,后者是字符输入流。OutputStream/Writer:所有输出流的基类,前者是字节输出流,后者是字符输出流。BufferedReader整行读取publicstaticStringreadFile(Stringfilename){......
  • apache的字符串工具类StringUtils
    org.apache.commons.lang3.StringUtils。<!--StringUtils、NumberUtils等工具类--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.10</version></d......
  • C++ 通过SQLite实现命令行工具
    本文介绍了一个基于C++、SQLite和Boost库的简单交互式数据库操作Shell。该Shell允许用户通过命令行输入执行各种数据库操作,包括添加、删除主机信息,设置主机到特定主机组,以及显示主机和主机组列表。通过调用SQLite3库实现数据库连接和操作,以及使用Boost库进行字符串解析......