添加commons-lang3的Maven依赖

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>

DateUtils类的几个重要方法及注释

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd hh:mm:ss");

Date date = new Date();

/**
* String转换成Date
* arg0 : 日期字符串 String
* arg1 : 特定的地理,政治和文化地区.可以传null
* arg3 : 日期格式.与arg0格式一致 String
* 该方法对日期和时间的解释是宽松的
* 宽松的解释日期(如 1996 年 2 月 42 日)将被视为等同于 1996 年 2 月 1 日后的第 41 天
* 如果是严格的解释,此类日期就会引发异常
*/
Date date1 = DateUtils.parseDate("20171012 14:30:12", Locale.TRADITIONAL_CHINESE, "yyyyMMdd hh:mm:ss");
Date date2 = DateUtils.parseDate("20171012 14:30:12", Locale.TRADITIONAL_CHINESE, "yyyyMMdd hh:mm:ss"); /**
* String转换成Date 严格的
* arg0 : 日期字符串 String
* arg1 : 特定的地理,政治和文化地区.可以传null
* arg3 : 日期格式.与arg0格式一致 String
* 该方法对日期和时间的解释是严格的
*/
Date date3 = DateUtils.parseDateStrictly("20171012", Locale.TRADITIONAL_CHINESE, "yyyyMMdd");
Date date4 = DateUtils.parseDateStrictly("20171012", Locale.TRADITIONAL_CHINESE, "yyyyMMdd"); /**
* 判断两个日期是否是同一天
* arg0 arg1 数据类型 : Date Calendar
* 比较arg0 arg1的
* ERA = 0 年代
* YEAR = 1 年
* DAY_OF_YEAR = 6 年中的第几天
*/
DateUtils.isSameDay(date3, date4);
System.out.println("isSameDay = " + DateUtils.isSameDay(date3, date4)); /**
* 判断两个日期是不是同一毫秒
* arg0 arg1 数据类型 : Date Calendar
* 自1970年1月1日00:00:00 GMT 的毫秒数是否相等
*/
DateUtils.isSameInstant(date1, date2);
System.out.println("isSameInstant = " + DateUtils.isSameInstant(date1, date2)); /**
* 判断是否是同一个本地时间
* arg0 arg1 数据类型 : Calendar
* 比较arg0 arg1的
* 数据类型
* ERA = 0 年代
* YEAR = 1 年
* DAY_OF_YEAR = 6 年中的第几天
* HOUR_OF_DAY = 11 天中的第几个小时
* MINUTE = 12 分钟
* SECOND = 13 秒
* MILLISECOND = 14 毫秒
*/
Calendar cal1 = Calendar.getInstance();
cal1.setTime(date1);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2);
DateUtils.isSameLocalTime(cal1, cal2);
System.out.println("isSameLocalTime = " + DateUtils.isSameLocalTime(cal1, cal2)); /**
* 获取指定日期前后arg1年
* arg0 : 指定日期 Date类型
* arg1 : int型,正数向后天数,0当天,负数向前天数
*/
date = DateUtils.addYears(date1, 4);
System.out.println("addYears = " + sdf.format(date)); /**
* 获取指定日期前后arg1月
* arg0 : 指定日期 Date类型
* arg1 : int型,正数向后天数,0当天,负数向前天数
*/
date = DateUtils.addMonths(date1, 4);
System.out.println("addMonths = " + sdf.format(date)); /**
* 获取指定日期前后arg1周
* arg0 : 指定日期 Date类型
* arg1 : int型,正数向后天数,0当天,负数向前天数
*/
date = DateUtils.addWeeks(date1, 4);
System.out.println("addWeeks = " + sdf.format(date)); /**
* 获取指定日期前后arg1天
* arg0 : 指定日期 Date类型
* arg1 : int型,正数向后天数,0当天,负数向前天数
*/
date = DateUtils.addDays(date1, 4);
System.out.println("addDays = " + sdf.format(date)); /**
* 获取指定日期前后arg1小时
* arg0 : 指定日期 Date类型
* arg1 : int型,正数向后天数,0当天,负数向前天数
*/
date = DateUtils.addHours(date1, 4);
System.out.println("addHours = " + sdf.format(date)); /**
* 获取指定日期前后arg1分钟
* arg0 : 指定日期 Date类型
* arg1 : int型,正数向后天数,0当天,负数向前天数
*/
date = DateUtils.addMinutes(date1, 4);
System.out.println("addMinutes = " + sdf.format(date)); /**
* 获取指定日期前后arg1秒
* arg0 : 指定日期 Date类型
* arg1 : int型,正数向后天数,0当天,负数向前天数
*/
date = DateUtils.addSeconds(date1, 4);
System.out.println("addSeconds = " + sdf.format(date)); /**
* 获取指定日期前后arg1毫秒
* arg0 : 指定日期 Date类型
* arg1 : int型,正数向后天数,0当天,负数向前天数
*/
date = DateUtils.addMilliseconds(date1, 4);
System.out.println("addMilliseconds = " + sdf.format(date)); /**
* 指定日期年的值
* arg0 : 日期 Date类型
* arg1 : int型
*/
date = DateUtils.setYears(date1, 2008);
System.out.println("setYears = " + sdf.format(date)); /**
* 指定日期月的值
* arg0 : 日期 Date类型
* arg1 : int型 范围在 1-12
*/
date = DateUtils.setMonths(date1, 1);
System.out.println("setMonths = " + sdf.format(date)); /**
* 指定日期天的值
* arg0 : 日期 Date类型
* arg1 : int型 范围在 1-31(不同月份值略有不同)
*/
date = DateUtils.setDays(date1, 24);
System.out.println("setDays = " + sdf.format(date)); /**
* 指定日期小时的值
* arg0 : 日期 Date类型
* arg1 : int型 范围在1-23
*/
date = DateUtils.setHours(date1, 23);
System.out.println("setHours = " + sdf.format(date)); /**
* 指定日期分钟的值
* arg0 : 日期 Date类型
* arg1 : int型 范围在1-59
*/
date = DateUtils.setMinutes(date1, 56);
System.out.println("setMinutes = " + sdf.format(date)); /**
* 指定日期秒的值
* arg0 : 日期 Date类型
* arg1 : int型 范围在1-59
*/
date = DateUtils.setSeconds(date1, 14);
System.out.println("setMinutes = " + sdf.format(date)); /**
* 指定日期毫秒的值
* arg0 : 日期 Date类型
* arg1 : int型
*/
date = DateUtils.setMilliseconds(date1, 100);
System.out.println("setMinutes = " + sdf.format(date)); /**
* 相当于
* Calendar cal3 = Calendar.getInstance();
* cal3.setTime(date);
* 得到的cal
*/
Calendar cal3 = DateUtils.toCalendar(date1); /**
* 获取时区
* timeZone 系统默认
* timeZone1 系统默认时区
* timeZone2 设置时区
*/
Calendar calendar = new GregorianCalendar();
TimeZone timeZone = calendar.getTimeZone();
TimeZone timeZone1 = TimeZone.getDefault();
TimeZone timeZone2 = TimeZone.getTimeZone("Europe/Copenhagen"); /**
* Date 转换成 Calendar 带时区
* arg0 : 日期 Date类型
* arg1 : 时区
*/
Calendar cal4 = DateUtils.toCalendar(date1, timeZone2); long fragment = 0; /**
* 获取指定日期中从指定位置起的毫秒数
* arg0 : 指定的日期 Date类型 或 Calendar类型
* arg1 : 指定从什么位置开始 int类型:建议使用 Calendar.YEAR Calendar.MONTH 等常量
*/
fragment = DateUtils.getFragmentInMilliseconds(date1, Calendar.MONDAY);
System.out.println("getFragmentInMilliseconds = " + fragment); /**
* 获取指定日期中从指定位置起的秒数
* arg0 : 指定的日期 Date类型 或 Calendar类型
* arg1 : 指定从什么位置开始 int类型:建议使用 Calendar.YEAR Calendar.MONTH 等常量
*/
fragment = DateUtils.getFragmentInSeconds(date1, Calendar.MONDAY);
System.out.println("getFragmentInSeconds = " + fragment); /**
* 获取指定日期中从指定位置起的分钟数
* arg0 : 指定的日期 Date类型 或 Calendar类型
* arg1 : 指定从什么位置开始 int类型:建议使用 Calendar.YEAR Calendar.MONTH 等常量
*/
fragment = DateUtils.getFragmentInMinutes(date1, Calendar.MONDAY);
System.out.println("getFragmentInMinutes = " + fragment); /**
* 获取指定日期中从指定位置起的小时数
* arg0 : 指定的日期 Date类型 或 Calendar类型
* arg1 : 指定从什么位置开始 int类型:建议使用 Calendar.YEAR Calendar.MONTH 等常量
*/
fragment = DateUtils.getFragmentInHours(date1, Calendar.MONDAY);
System.out.println("getFragmentInHours = " + fragment); /**
* 获取指定日期中从指定位置起的天数
* arg0 : 指定的日期 Date类型 或 Calendar类型
* arg1 : 指定从什么位置开始 int类型:建议使用 Calendar.YEAR Calendar.MONTH 等常量
*/
fragment = DateUtils.getFragmentInDays(date1, Calendar.MONDAY);
System.out.println("getFragmentInDays = " + fragment); boolean isEquals = false; /**
* 判断两个时间在指定的位置之上是否相等
* arg0 : 时间1 Date类型 或 Calendar类型
* arg1 : 时间2 Date类型 或 Calendar类型
* arg2 : 指定在位置上开始比较 int类型:建议使用 Calendar.YEAR Calendar.MONTH 等常量
*/
isEquals = DateUtils.truncatedEquals(date1, date2, Calendar.MONDAY);
System.out.println("truncatedEquals = " + isEquals); int truncatedCompare = -1; /**
* 比较arg0与arg1两个时间在指定的位置上的时间差值
* arg0 : 时间1 Date类型 或 Calendar类型
* arg1 : 时间2 Date类型 或 Calendar类型
* arg2 : 指定在位置上开始比较 int类型:建议使用 Calendar.YEAR Calendar.MONTH 等常量
*/
truncatedCompare = DateUtils.truncatedCompareTo(date1, date2, Calendar.MONDAY);
System.out.println("truncatedCompareTo = " + truncatedCompare);

原文:https://www.cnblogs.com/aston/p/9053201.html

【Java】commons-lang3中DateUtils类方法介绍的更多相关文章

  1. commons-lang3中DateUtils类方法介绍

    添加commons-lang3的Maven依赖 <dependency> <groupId>org.apache.commons</groupId> <art ...

  2. 【转】java中Thread类方法介绍

    原文: java中Thread类方法介绍 http://blog.csdn.net/seapeak007/article/details/53395609 这篇文章找时间分析一下!!!:http:// ...

  3. java commons.lang3 ArrayUtils使用

    java commons.lang3 ArrayUtils使用import org.apache.commons.lang3.ArrayUtils; /** *数组追加数组,不重复 */ public ...

  4. Hanlp在java中文分词中的使用介绍

    项目结构 该项目中,.jar和data文件夹和.properties需要从官网/github下载,data文件夹下载 项目配置 修改hanlp.properties: 1 #/Test/src/han ...

  5. Java遍历包中所有类方法注解

    import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.lang.annotat ...

  6. 【java】org.apache.commons.lang3功能示例

    org.apache.commons.lang3功能示例 package com.simple.test; import java.util.Date; import java.util.Iterat ...

  7. 日期工具类 DateUtils(继承org.apache.commons.lang.time.DateUtils类)

    /** * */ package com.dsj.gdbd.utils.web; import org.apache.commons.lang3.time.DateFormatUtils; impor ...

  8. struts2中的错误--java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

    2013-4-7 10:13:56 org.apache.catalina.startup.HostConfig checkResources 信息: Reloading context [/chap ...

  9. spring异常记录-----java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

    今天在练习怎样SSH中进行单元測试的时候出现下列异常: SEVERE: Exception starting filter Struts2 java.lang.NoClassDefFoundError ...

随机推荐

  1. dropna()函数

    参数: axis:       default 0指行,1为列 how:       {‘any’, ‘all’}, default ‘any’指带缺失值的所有行;'all’指清除全是缺失值的 thr ...

  2. lesson2-完全图、补图和顶点度

    (一).完全图.偶图与补图 1.每两个不同的顶点之间都有一条边相连的简单图称为完全图 (complete graph).在同构意义下,n个顶点的完全图只有一个,记为 2.所谓具有二分类(X, Y)的偶 ...

  3. Redis数据类型:Hashes、Geo操作指令

    Redis数据类型:Hashes.Geo操作指令 Hashes常用操作指令 Redis Hashes是一个键值对的映射表,最对能存储2^32-1(约40亿)个键值对. HSET HGET HSET:将 ...

  4. [Python3 练习] 008 欧几里德算法

    题目:写个"欧几里德算法"的小程序 (1) 描述 我知识浅薄,一开始被"欧几里德"的大名唬住了,去搜了一下才知道这就是高中时学过的"辗转相除法&quo ...

  5. SpringBoot 整合 MybatisPlus (项目的创建及简单的单表查询)

    添加依赖 <!--mybatis-plus的springboot支持--> <dependency> <groupId>com.baomidou</group ...

  6. 【洛谷p3956】棋盘

    日常blog(✧◡✧) 棋盘[题目链接] 算法: 然后这是2017普及组: first.关于颜色处理:让c[i][j]=color+1:这样无色=0,红色=1,黄色=2: 然后其实是记忆化,将记答案的 ...

  7. 【洛谷p1158】导弹拦截

    这道题是个有想法的枚举qwq 导弹拦截[题目链接] 注意:此导弹拦截非彼导弹拦截p1020 导弹拦截 一道题是1999年的,然后我们现在要写的是经过11年韬光养晦之后的导弹拦截 SOLUTION: 要 ...

  8. HNUSTOJ-1600 BCD时钟

    1600: BCD时钟 时间限制: 1 Sec  内存限制: 128 MB提交: 1038  解决: 156[提交][状态][讨论版] 题目描述 BCD码是指用四位二进制数来表示十进制数中的0~9这十 ...

  9. java实战应用:MyBatis实现单表的增删改

    MyBatis 是支持普通 SQL查询.存储过程和高级映射的优秀持久层框架.MyBatis 消除了差点儿全部的JDBC代码和參数的手工设置以及结果集的检索.MyBatis 使用简单的 XML或注解用于 ...

  10. kafka具体解释四:Kafka的设计思想、理念

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/suifeng3051/article/details/37606001      本节主要从总体角度 ...