jar包 appache下的 common-lang3

一、 对指定的日期新增年、月、周、日、小时、分钟、秒、毫秒

public static Date addDays(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));

date = DateUtils.addDays(date, 1);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));

结果是:

2018-01-23 11:53:49

2018-01-24 11:53:49这里写代码片

说明:向返回新对象日期添加若干天,原始日期不变;

参数:date-日期,可能为空;amount-添加的量可能为复值;

返回值:返回一个新日期,原始日期不变;

抛出异常:IllegalArgumentException,如果日期为null;

public static Date addHours(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));

date = DateUtils.addHours(date, 1);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));

结果:

2018-01-23 11:58:26

2018-01-23 12:58:26

说明:向新返回日期对象添加若干小时,原始日期不变;

参数:date-日期,可能为空;amount-添加的量可能为复值;

返回值:返回一个新日期,原始日期不变;

抛出异常:IllegalArgumentException,如果日期为null;

public static Date addMinutes(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));

date = DateUtils.addMinutes(date, 1);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));

结果:

2018-01-23 13:04:05

2018-01-23 13:05:05

说明:向新返回日期对象添加若干分钟,原始日期不变;

参数:date-日期,可能为空;amount-添加的量可能为复值;

返回值:返回一个新日期,原始日期不变;

抛出异常:IllegalArgumentException,如果日期为null;

public static Date addSeconds(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));

date = DateUtils.addSeconds(date, 1);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));

结果:

2018-01-23 13:06:42

2018-01-23 13:06:43

说明:向新返回日期对象添加若干秒,原始日期不变;

参数:date-日期,可能为空;amount-添加的量可能为复值;

返回值:返回一个新日期,原始日期不变;

抛出异常:IllegalArgumentException,如果日期为null;

public static Date addMilliseconds(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.addMilliseconds(date, 1);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:10:26:579

2018-01-23 13:10:26:580

说明:向新返回日期对象添加若干毫秒,原始日期不变;

参数:date-日期,可能为空;amount-添加的量可能为复值;

返回值:返回一个新日期,原始日期不变;

抛出异常:IllegalArgumentException,如果日期为null;

public static Date addYears(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.addYears(date, 1);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:12:44:742

2019-01-23 13:12:44:742

说明:向新返回日期对象添加若干年,原始日期不变;

参数:date-日期,可能为空;amount-添加的量可能为复值;

返回值:返回一个新日期,原始日期不变;

抛出异常:IllegalArgumentException,如果日期为null;

public static Date addMonths(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.addMonths(date, 1);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:14:13:354

2018-02-23 13:14:13:354

说明:向新返回日期对象添加若干年,原始日期不变;

参数:date-日期,可能为空;amount-添加的量可能为复值;

返回值:返回一个新日期,原始日期不变;

抛出异常:IllegalArgumentException,如果日期为null;

public static Date addWeeks(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.addWeeks(date, 1);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:15:21:608

2018-01-30 13:15:21:608

说明:向新返回日期对象添加若干周,原始日期不变;

参数:date-日期,可能为空;amount-添加的量可能为复值;

返回值:返回一个新日期,原始日期不变;

抛出异常:IllegalArgumentException,如果日期为null;

二、设置日期中年、月、日、时、分、秒、毫秒值为指定的数字值

public static Date setYears(Date date,int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.setYears(date, 2015);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:24:13:838

2015-01-23 13:24:13:838

说明:设置日期中年字段并返回一个新的日期对象,原始日期值不变;

参数:date-日期,不能为null;amount-设置的值,非负值;

返回:一个新的日期对象;

抛出异常:IllegalArgumentException,如果日期为null或者负值;

public static Date setMonths(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.setMonths(date, 11);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:30:28:161

2018-12-23 13:30:28:161

说明:设置日期中月字段并返回一个新的日期对象,原始日期值不变;

参数:date-日期,不能为null;amount-设置的值,非负值,且值为0—11;

返回:一个新的日期对象;

抛出异常:IllegalArgumentException,如果日期为null或者负值;

public static Date setDays(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.setDays(date, 11);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:33:41:587

2018-01-11 13:33:41:587

说明:设置日期中日字段并返回一个新的日期对象,原始日期值不变;

参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到当月最大天数;

返回:一个新的日期对象;

抛出异常:IllegalArgumentException,如果日期为null或者负值;

public static Date setHours(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.setHours(date, 16);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:36:01:860

2018-01-23 16:36:01:860

说明:设置日期中小时字段并返回一个新的日期对象,原始日期值不变;

参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到23;

返回:一个新的日期对象;

抛出异常:IllegalArgumentException,如果日期为null或者负值;

public static Date setMinutes(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.setMinutes(date, 16);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:37:28:681

2018-01-23 13:16:28:681

说明:设置日期中分钟字段并返回一个新的日期对象,原始日期值不变;

参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到59;

返回:一个新的日期对象;

抛出异常:IllegalArgumentException,如果日期为null或者负值;

public static Date setSeconds(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.setSeconds(date, 10);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:39:19:946

2018-01-23 13:39:10:946

说明:设置日期中秒字段并返回一个新的日期对象,原始日期值不变;

参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到59;

返回:一个新的日期对象;

抛出异常:IllegalArgumentException,如果日期为null或者负值;

public static Date setMilliseconds(Date date, int amount)

Date date = new Date();

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

date = DateUtils.setMilliseconds(date, 10);

System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));

结果:

2018-01-23 13:40:38:666

2018-01-23 13:40:38:010

说明:设置日期中毫秒字段并返回一个新的日期对象,原始日期值不变;

参数:date-日期,不能为null;amount-设置的值,非负值,且值为0到999;

返回:一个新的日期对象;

抛出异常:IllegalArgumentException,如果日期为null或者负值;

三、检查日期是否相同

public static boolean isSameDay(Date date1, Date date2)

Date date1 = new Date();

Date date2 = new Date();

System.out.println(DateUtils.isSameDay(date1, date2));

结果:

true

说明:检查两个日期对象是否同一天忽略时间(28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. 28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false.);

参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空;

返回值:true,如果两个日期在同一天;

抛出异常:IllegalArgumentException如果有一个日期为null;

public static boolean isSameDay(Calendar cal1, Calendar cal2)

Calendar cal1 = Calendar.getInstance();

Calendar cal2 = Calendar.getInstance();

System.out.println(DateUtils.isSameDay(cal1, cal2));

结果:

true

说明:检查两个日期对象是否同一天忽略时间(28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. 28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false);

参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空;

返回值:true,如果两个日期在同一天;

抛出异常:IllegalArgumentException如果有一个日期为null;

public static boolean isSameInstant(Date date1, Date date2)

Date date1 = new Date();

date1 = DateUtils.addMinutes(date1, 23);

Date date2 = new Date();

System.out.println(DateUtils.isSameInstant(date1, date2));

结果:

false

说明:检查两个日期对象是否代表同一时刻,此方法比较两个日期精确到毫秒数;

参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空;

返回值:true,如果两个日期代表相同的毫秒时刻;

抛出异常:IllegalArgumentException如果有一个日期为null;

public static boolean isSameInstant(Calendar cal1, Calendar cal2)

Calendar cal1 = Calendar.getInstance();

Date date3 = DateUtils.addHours(cal1.getTime(), 12);

cal1.setTime(date3);

Calendar cal2 = Calendar.getInstance();

System.out.println(DateUtils.isSameInstant(cal1, cal2));

结果:

false

说明:检查两个日期对象是否代表同一时刻,此方法比较两个日期精确到毫秒数;

参数:date1-第一个参数,不能改变,非空;date2-第二个参数,不能改变,非空;

返回值:true,如果两个日期代表相同的毫秒时刻;

抛出异常:IllegalArgumentException如果有一个日期为null;

public static boolean isSameLocalTime(Calendar cal1,Calendar cal2)

Calendar cal1 = Calendar.getInstance();

Calendar cal2 = Calendar.getInstance();

System.out.println(DateUtils.isSameLocalTime(cal1, cal2));

结果:

true

说明:检查两个日历对象是否表示相同的本地时间,此方法比较两个对象的字段值,另外两个日历必须为同一类型的日历;

参数:cal1-第一个参数,不能改变,非空;cal2-第二个参数,不能改变,非空;

返回值:true,如果两个日期代表相同的毫秒时刻;

抛出异常:IllegalArgumentException如果有一个日期为null;

一、日期格式化

public static Date parseDate(String str, Locale locale,String… parsePatterns)

说明:使用给定区域设置的默认日期格式符号,通过尝试各种不同的解析器解析一个表示日期的字符串,解析将依次尝试每个解析模式。解析只有在解析整个输入字符串时才被认为是成功的。如果没有解析模式匹配,抛出ParseException抛出,解析器将对已解析的日期冗余;

参数:str-转换的日期,非null;parsePatterns-要使用的日期格式模式,查看SimpleDateFormat,非null;local-应该使用日期格式符号的区域设置。如果为空,系统现场应用(每parsedate(String,String…))。

返回数据:转换后的日期对象;

抛出异常:IllegalArgumentException-如果data字符串或者parsePatterns模式为null;ParseException-如果没有日期格式符合data字符串;

DateUtils.parseDate("2017-12-16 15:26:56",Locale.CHINA, "yyyy-MM-dd HH:mm:ss")

Sat Dec 16 15:26:56 CST 2017

public static Date parseDate(String str, String… parsePatterns)

说明:通过尝试各种不同的解析器解析一个表示日期的字符串,解析将依次尝试每个解析模式。解析只有在解析整个输入字符串时才被认为是成功的。如果没有解析模式匹配,抛出ParseException抛出。

参数:str-转换的日期,非null;parsePatterns-要使用的日期格式模式,查看SimpleDateFormat,非null;

返回数据:转换后的日期对象;

抛出异常:IllegalArgumentException-如果data字符串或者parsePatterns模式为null;ParseException-如果没有日期格式符合data字符串;

DateUtils.parseDate("2017-12-16 15:26:56", "yyyy-MM-dd HH:mm:ss")

Sat Dec 16 15:26:56 CST 2017

public static Date parseDateStrictly(String str, String… parsePatterns)

说明:通过尝试各种不同的解析器解析一个表示日期的字符串,解析将依次尝试每个解析模式,解析只有在解析完整个输入字符串的时候才会被认为成功,如果没有解析模式匹配,将会抛出异常;解析器严格解析,它不允许诸如"February 942, 1996";

参数:str-输入的日期字符串,非null;parsePatterns-日期转换的格式,非null;

返回值:转换后的日期对象;

抛出异常:IllegalArgumentException-如果data字符串或者parsePatterns模式为null;ParseException-如果没有日期格式符合data字符串;

二、日期舍入

public static Date round(Date date, int field)

说明:舍入日期,保留大于等于指定字段的日期;例如如果你有日期28 Mar 2002 13:45:01.231,如果传入HOUR,那结果会是28 Mar 2002 14:00:00.000;如果传入的是MONTH,将会返回1 April 2002 0:00:00.000;

参数:date-转换日期;field-舍入字段,如:Calendar.DATE、Calendar.MINUTE;

返回值:不同的舍入日期,非null;

————————————————

版权声明:本文为CSDN博主「随风yy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/yaomingyang/article/details/79138466

java dateutils工具类_Java日期工具类DateUtils详解(转)相关推荐

  1. java 抽象属性 设计_Java 抽象类与模板设计模式详解

    抽象类 抽象类是为了方法覆写而提供的类结构,因为其无法自身直接进行对象实例化操作,所以在实际应用中,抽象类主要目的是进行过程操作使用,当你要使用抽象类进行开发的时候,往往都是在你设计中需要解决类继承问 ...

  2. java中throws用法_java中throws实例用法详解

    在程序出现异常时,会有一个抛出异常的throw出现,这里我们要跟今天所讲的throws区分开.throws的作用是声明抛出,在名称上也跟throw有所不同.下面我们就throws对策概念.语法.实例带 ...

  3. java做jsp问题_java/jsp中 中文问题详解

    java/jsp中 中文问题详解 更新时间:2006年10月13日 00:00:00   作者: 预备知识: 1.字节和unicode Java内核是unicode的,就连class文件也是,但是很多 ...

  4. java使用变量输出_JAVA定义变量与输出详解

    一些重要知识 一个源文件里只能有一个public类,其它类数量不限.文件名与public类名相同 java程序严格区分大小写 JAVA应用程序的执行入口是main方法固定写法:public stati ...

  5. java闰年判断原理_java 面试题闰年判断详解及实例

    java 面试题闰年判断详解及实例 java 闰年判断 前言: 给定一个年份,判断这一年是不是闰年. 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数: 2. 年份是400 ...

  6. java语言数据库编程_JAVA语言数据库编程实例详解

    本文主要向大家介绍了JAVA语言数据库编程实例详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. DOS命令登录MySQL数据库:mysql -h 127.0.0.1 -u root ...

  7. java读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

  8. java编程50实例_java编程实例大全及详解谜底(50例).doc

    java编程实例大全及详解谜底(50例).doc 还剩 33页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 谓 ...

  9. java list 移除_java 中List删除实例详解

    java 中List删除实例详解 1.循环删除List中的元素 public static void main(String[] args) { List t=new ArrayList(); for ...

  10. java 读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

最新文章

  1. 使用Vscode进行远程炼丹
  2. 为了上班摸鱼,我用Python开发“BOSS来了”
  3. leetcode-114. Flatten Binary Tree to Linked List
  4. javascript --- 手写Promise、快排、冒泡、单例模式+观察者模式
  5. 2021年,年薪50W,这是产品经理的新出路?(接着发红包)
  6. linux 批量替换文件内容及查找某目录下所有包含某字符串的文件(批量修改文件内容)
  7. Spark_Sql50题(DataFrame)
  8. LayaAir graphics 矢量绘图之 圆形与扇形
  9. 【钟表识别】基于matlab GUI形态学钟表识别【含Matlab源码 1351期】
  10. gmssl java api_关于GmSSL Java API编译
  11. 基于FPGA的冗余链路高速切换解决方案
  12. python操作系统存储管理作业答案_操作系统课后题答案一
  13. 2019年 电赛C题 全国大学生电子设计竞赛试题解析与总结
  14. java充值卡号生成_java实现点卡生成
  15. Linux查看公网IP和私网(内网)IP的方法
  16. 3.Elasticsearch-查询的多种方式
  17. 对finecms模板的改造sql
  18. ./configure, make, sudo make install 的含义
  19. 37岁,跨专业学习Java
  20. Linux安装JDK环境变量配置

热门文章

  1. 基于CarMaker的C-NCAP主动安全系统试验仿真(二)
  2. 头歌Educoder——大数据Hadoop开发环境搭建
  3. java源码反编译_Java代码的编译与反编译
  4. matlab画一个点电荷电场线,matlab画点电荷电场线
  5. dism++封装系统使用教程_dism++封装系统使用教程_win7系统部署工具Dism的操作方法...
  6. [渝粤教育] 江西财经大学 税法 参考 资料
  7. AudioTrack播放acc格式音频
  8. 网上下载的php源码怎么运行,在中国站长站下载的asp源码,如何在自己电脑上运行?...
  9. c语言mfc步骤,C语言工程MFC
  10. 牛腩新闻发布系统—发布错误总结