日期处理类org.apache.commons.lang3.time.DateUtils/*** 以秒为标准时间的毫秒数*/public static final long MILLIS_PER_SECOND = 1000/***以分钟为标准时间的毫秒数*/public static final long MILLIS_PER_MINUTE = 60 * MILLIS_PER_SECOND/***以小时为标准时间的毫秒数*/public static final long MILLIS_PER_HOUR = 60 * MILLIS_PER_MINUTE/*** 以天为标准时间的毫秒数*/public static final long MILLIS_PER_DAY = 24 * MILLIS_PER_HOUR/*** 这个类型是半个月, 所以这可以代表日期是上还是下半个月 。*/public static final int SEMI_MONTH = 1001/*** 周范围, 从星期日开始 。*/public static final int RANGE_WEEK_SUNDAY = 1/*** 周范围,从星期一开始 。*/public static final int RANGE_WEEK_MONDAY = 2/*** 周范围,从关注的那天开始。*/public static final int RANGE_WEEK_RELATIVE = 3/*** 周范围,以关注的天为中心。*/public static final int RANGE_WEEK_CENTER = 4/*** 月范围,从星期日开始 。*/public static final int RANGE_MONTH_SUNDAY = 5/*** 月范围,从星期一开始 。*/public static final int RANGE_MONTH_MONDAY = 6/*** 不应在标准编成构造获取实列, 而应该直接使用类中的静态方法,如:DateUtils.parseDate(str) 。* 此构造函数意在允许需要一个javabeen实列的工具中使用 。  */public DateUtils()/*** 判断两个日期时间是否是同一天 。** @param date1  第一个日期,不可修改,非null* @param date2  第二个日期,不可修改,非null*/public static boolean isSameDay(final Date date1, final Date date2)/*** 判断两个日历时间是否是同一天 。   ** @param cal1  第一个日历,不可修改,非null* @param cal2  第二个日历,不可修改,非null*/public static boolean isSameDay(final Calendar cal1, final Calendar cal2)/*** 判断两个日期是否相同* 这种方法比较两个对象的毫秒时间 ** @param date1  第一个日期,不可修改,非null* @param date2  第二个日期,不可修改,非null*/public static boolean isSameInstant(final Date date1, final Date date2)/*** 判断两个日历是否相同* 这种方法比较两个对象的毫秒时间 ** @param cal1  第一个日历,不可修改,非null* @param cal2  第二个日历,不可修改,非null*/public static boolean isSameInstant(final Calendar cal1, final Calendar cal2)/*** 判断两个日历本地时间是否相同* 除了比较数值外两个日历对象的类型还要相同** @param cal1  第一个日历,不可修改,非null* @param cal2  第二个日历,不可修改,非null*/public static boolean isSameLocalTime(final Calendar cal1, final Calendar cal2)/*** 尝试用parsePatterns中各种不同的日期格式解析代表时间的字符串str 。* * 解析时会逐个使用parsePatterns中的格式,如果都没有匹配上, 则抛出异常ParseException 。* * @param str  被解析的时间字符串,非null* @param parsePatterns  用于解析str的时间格式,有一个或几个,非null*/public static Date parseDate(final String str, final String... parsePatterns) throws ParseException/*** 尝试用parsePatterns中各种不同的日期格式解析代表时间的字符串str 。* 解析时会使用给定的日期格式符locale 。* * 解析时会逐个使用parsePatterns中的格式,如果都没有匹配上, 则抛出异常ParseException 。* * @param str  被解析的时间字符串,非null* @param locale 使用locale中的日期格式符,如果为null,则使用系统默认的locale* @param parsePatterns  用于解析str的时间格式,有一个或几个,非null*/public static Date parseDate(final String str, final Locale locale, final String... parsePatterns) throws ParseException/*** 尝试用parsePatterns中各种不同的日期格式解析代表时间的字符串str 。** 解析时会逐个使用parsePatterns中的格式,如果都没有匹配上, 则抛出异常ParseException 。* 解析器解析严格不允许的日期, 如:"February 942, 1996" 。* * @param str  被解析的时间字符串,非null* @param parsePatterns  用于解析str的时间格式,有一个或几个,非null*/public static Date parseDateStrictly(final String str, final String... parsePatterns) throws ParseException/*** 尝试用parsePatterns中各种不同的日期格式解析代表时间的字符串str 。* 解析时会使用给定的日期格式符locale 。** 解析时会逐个使用parsePatterns中的格式,如果都没有匹配上, 则抛出异常ParseException 。* 解析器解析严格不允许的日期, 如:"February 942, 1996" 。* * @param str  被解析的时间字符串,非null* @param locale 使用locale中的日期格式符,如果为null,则使用系统默认的locale* @param parsePatterns  用于解析str的时间格式,有一个或几个,非null*/public static Date parseDateStrictly(final String str, final Locale locale, final String... parsePatterns) throws ParseException/*** 在日期date上增加amount年 。** @param date  处理的日期,非null* @param amount  要加的年数,可能为负数*/public static Date addYears(final Date date, final int amount)/*** 在日期date上增加amount月 。** @param date  处理的日期,非null* @param amount  要加的月数,可能为负数*/public static Date addMonths(final Date date, final int amount)/*** 在日期date上增加amount周 。** @param date  处理的日期,非null* @param amount  要加的周数,可能为负数*/public static Date addWeeks(final Date date, final int amount)/*** 在日期date上增加amount天 。** @param date  处理的日期,非null* @param amount  要加的天数,可能为负数*/public static Date addDays(final Date date, final int amount)/*** 在日期date上增加amount小时 。** @param date  处理的日期,非null* @param amount  要加的小时数,可能为负数*/public static Date addHours(final Date date, final int amount)/*** 在日期date上增加amount分钟 。** @param date  处理的日期,非null* @param amount  要加的分钟数,可能为负数*/public static Date addMinutes(final Date date, final int amount)/*** 在日期date上增加amount秒 。** @param date  处理的日期,非null* @param amount  要加的秒数,可能为负数*/public static Date addSeconds(final Date date, final int amount)/*** 在日期date上增加amount 毫秒 。** @param date  处理的日期,非null* @param amount  要加的毫秒数,可能为负数*/public static Date addMilliseconds(final Date date, final int amount)/*** 给日期data设置一个新的年份 。** @param date 处理的日期,非null* @param amount 要设置的年份*/public static Date setYears(final Date date, final int amount)/*** 给日期data设置一个新的月份 。** @param date 处理的日期,非null* @param amount 要设置的月份*/public static Date setMonths(final Date date, final int amount)/*** 给日期data设置一个新的天 。** @param date 处理的日期,非null* @param amount 要设置的天*/public static Date setDays(final Date date, final int amount)/*** 给日期data设置一个新的小时 。** @param date 处理的日期,非null* @param amount 要设置的小时*/public static Date setHours(final Date date, final int amount)/*** 给日期data设置一个新的分钟 。** @param date 处理的日期,非null* @param amount 要设置的分钟*/public static Date setMinutes(final Date date, final int amount)/*** 给日期data设置一个新的秒 。** @param date 处理的日期,非null* @param amount 要设置的秒*/public static Date setSeconds(final Date date, final int amount)/*** 给日期data设置一个新的毫秒 。** @param date 处理的日期,非null* @param amount 要设置的毫秒*/public static Date setMilliseconds(final Date date, final int amount)/*** 将一个日期放到日历中 。*/public static Calendar toCalendar(final Date date)/*** 根据阈值field四舍五入日历date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 14:00:00.000;* 如果field为MONTH,它将返回 1 April 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值*/public static Date round(final Date date, final int field)/*** 根据阈值field四舍五入日历date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 14:00:00.000;* 如果field为MONTH,它将返回 1 April 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值  */public static Calendar round(final Calendar date, final int field)/*** 根据阈值field四舍五入日历date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 14:00:00.000;* 如果field为MONTH,它将返回 1 April 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值 */public static Date round(final Object date, final int field)/*** 根据阈值field截取日期date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 13:00:00.000;* 如果field为MONTH,它将返回 1 Mar 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值 */public static Date truncate(final Date date, final int field)/*** 根据阈值field截取日历date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 13:00:00.000;* 如果field为MONTH,它将返回 1 Mar 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值*/public static Calendar truncate(final Calendar date, final int field)/*** 根据阈值field截取日期date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 13:00:00.000;* 如果field为MONTH,它将返回 1 Mar 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值*/public static Date truncate(final Object date, final int field)/*** 根据阈值field向上舍入日期date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 14:00:00.000;* 如果field为MONTH,它将返回 1 Apr 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值*/public static Date ceiling(final Date date, final int field)/*** 根据阈值field向上舍入日期date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 14:00:00.000;* 如果field为MONTH,它将返回 1 Apr 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值*/public static Calendar ceiling(final Calendar date, final int field)/*** 根据阈值field向上舍入日期date 。** 例如, 如果你的时间是 28 Mar 2002 13:45:01.231,* 如果field为HOUR,它将返回 28 Mar 2002 14:00:00.000;* 如果field为MONTH,它将返回 1 Apr 2002 0:00:00.000 。* * @param date  处理的日期,非null* @param field  阈值*/public static Date ceiling(final Object date, final int field)/*** 根据指定的时间focus和范围类型rangeStyle构建一个时间范围迭代器 。** 如传入的时间是Thursday, July 4, 2002,范围类型是RANGE_MONTH_SUNDAY,* 则返回迭代器的范围是从Sunday, June 30, 2002 到 Saturday, August 3, 2002** @param focus  指定的时间* @param rangeStyle  范围类型,值必须是如下之一:* DateUtils.RANGE_MONTH_SUNDAY, * DateUtils.RANGE_MONTH_MONDAY,* DateUtils.RANGE_WEEK_SUNDAY,* DateUtils.RANGE_WEEK_MONDAY,* DateUtils.RANGE_WEEK_RELATIVE,* DateUtils.RANGE_WEEK_CENTER*/public static Iterator<Calendar> iterator(final Date focus, final int rangeStyle)/*** 根据指定的时间focus和范围类型rangeStyle构建一个时间范围迭代器 。** 如传入的时间是Thursday, July 4, 2002,范围类型是RANGE_MONTH_SUNDAY,* 则返回迭代器的范围是从Sunday, June 30, 2002 到 Saturday, August 3, 2002** @param focus  指定的时间* @param rangeStyle  范围类型,值必须是如下之一:* DateUtils.RANGE_MONTH_SUNDAY, * DateUtils.RANGE_MONTH_MONDAY,* DateUtils.RANGE_WEEK_SUNDAY,* DateUtils.RANGE_WEEK_MONDAY,* DateUtils.RANGE_WEEK_RELATIVE,* DateUtils.RANGE_WEEK_CENTER*/public static Iterator<Calendar> iterator(final Calendar focus, final int rangeStyle)/*** 根据指定的时间focus和范围类型rangeStyle构建一个时间范围迭代器 。** 如传入的时间是Thursday, July 4, 2002,范围类型是RANGE_MONTH_SUNDAY,* 则返回迭代器的范围是从Sunday, June 30, 2002 到 Saturday, August 3, 2002** @param focus  指定的时间* @param rangeStyle  范围类型,值必须是iterator(Calendar, int)方法注释中列出的*/public static Iterator<?> iterator(final Object focus, final int rangeStyle)/*** 返回指定分段内的毫秒数 。 所有大于分段的DateFields将被忽略 。** 请求任何日期毫秒,将返回当前秒的毫秒数 (返回一个数字在0和999之间) 。* 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、* Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、* Calendar.SECOND 和 Calendar.MILLISECOND* 分段值小于或等于MILLISECOND,将返回0 。* *  January 1, 2008 7:15:10.538 with Calendar.SECOND as fragment will return 538*  January 6, 2008 7:15:10.538 with Calendar.SECOND as fragment will return 538*  January 6, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10538*  January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0*   (a millisecond cannot be split in milliseconds)* * @param calendar 获取值得日历对象,非null* @param fragment 分段值*/public static long getFragmentInMilliseconds(final Calendar calendar, final int fragment)/*** 返回指定分段内的秒数 。 所有大于分段的DateFields将被忽略 。** 请求任何日期秒,将返回当前的分钟的秒数 (返回一个数字在0和59之间) 。* 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、* Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、* Calendar.SECOND 和 Calendar.MILLISECOND* 分段值小于或等于SECOND,将返回0 。* *  January 1, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10*  January 6, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10*  January 6, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 26110*   (7*3600 + 15*60 + 10)</li>*  January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0* * @param calendar 获取值得日历对象,非null* @param fragment 分段值*/public static long getFragmentInSeconds(final Calendar calendar, final int fragment)/*** 返回指定分段内的分钟数 。 所有大于分段的DateFields将被忽略 。** 请求任何日期分钟,将返回当前的小时的分钟数 (返回一个数字在0和59之间)* 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、* Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、* Calendar.SECOND 和 Calendar.MILLISECOND* 分段值小于或等于MINUTE,将返回0 。* *  January 1, 2008 7:15:10.538 with Calendar.HOUR_OF_DAY as fragment will return 15*  January 6, 2008 7:15:10.538 with Calendar.HOUR_OF_DAY as fragment will return 15*  January 1, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 15*  January 6, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 435 (7*60 + 15)*  January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0* * @param calendar 获取值得日历对象,非null* @param fragment 分段值*/public static long getFragmentInMinutes(final Calendar calendar, final int fragment)/*** 返回指定分段内的小时数 。 所有大于分段的DateFields将被忽略 。** 请求任何日期小时,将返回当前的天的小时数 (返回一个数字在0和23之间) 。* 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、* Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、* Calendar.SECOND 和 Calendar.MILLISECOND* 分段值小于或等于HOUR_OF_DAY,将返回0 。*  *  January 1, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 7*  January 6, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 7*  January 1, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 7*  January 6, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 127 (5*24 + 7)*  January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0*  * @param calendar 获取值得日历对象,非null* @param fragment 分段值*/public static long getFragmentInHours(final Calendar calendar, final int fragment)/*** 返回指定分段内的天数 。 所有大于分段的DateFields将被忽略 。** 请求任何日期天数,将返回当前的月的天数 (返回一个数字在1和31之间) 。* 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、* Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、* Calendar.SECOND 和 Calendar.MILLISECOND* 分段值小于或等于DATE,将返回0 。* *  January 28, 2008 with Calendar.MONTH as fragment will return 28*  February 28, 2008 with Calendar.MONTH as fragment will return 28*  January 28, 2008 with Calendar.YEAR as fragment will return 28*  February 28, 2008 with Calendar.YEAR as fragment will return 59*  January 28, 2008 with Calendar.MILLISECOND as fragment will return 0* * @param calendar 获取值得日历对象,非null* @param fragment 分段值*/public static long getFragmentInDays(final Calendar calendar, final int fragment)/*** 截取比较两个日历对象的field处的值是否相同 。* * @param cal1 第一个日历对象,非null* @param cal2 第二个日历对象,非null* @param field Calendar中的阈值*/public static boolean truncatedEquals(final Calendar cal1, final Calendar cal2, final int field)/*** 截取比较两个日期对象的field处的值是否相同 。* * @param date1 第一个日期对象,非null* @param date2 第二个日期对象,非null* @param field Calendar中的阈值*/public static boolean truncatedEquals(final Date date1, final Date date2, final int field)/*** 截取比较两个日历对象的field处的值 。* 如果第一个日历小于、等于、大于第二个,则对应返回负整数、0、正整数* * @param cal1 第一个日历对象,非null* @param cal2 第二个日历对象,非null* @param field Calendar中的阈值*/public static int truncatedCompareTo(final Calendar cal1, final Calendar cal2, final int field)/*** 截取比较断两个日期对象的field处的值 。* 如果第一个日期小于、等于、大于第二个,则对应返回负整数、0、正整数* * @param date1 第一个日期对象,非null* @param date2 第二个日期对象,非null* @param field Calendar中的阈值*/public static int truncatedCompareTo(final Date date1, final Date date2, final int field)

转自:https://blog.csdn.net/yihaoawang/article/details/50638199

日期处理类org.apache.commons.lang3.time.DateUtils相关推荐

  1. 程序中的日期使用问题-格式转化:SimpleDateFormat、org.apache.commons.lang3.time.DateUtils

    前言 日期使用问题主要是格式转换的问题 场景:通过excel导入数据,其中一个字段为出生日期,需要对字段值进行合法性校验 博客地址:芒果橙的个人博客 [http://mangocheng.com] 文 ...

  2. 工具类org.apache.commons.lang3.StringUtils

    sEmpty 和 isBlank 的区别你知道吗?也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNoneEmpty/is ...

  3. Java中字符串工具类继承org.apache.commons.lang3.StringUtils类代码

    场景 转换为字节数组:是否包含字符串:替换掉HTML标签方法:替换为手机识别的HTML,去掉样式及属性,保留回车: 缩略字符串(不区分中英文字符):转换为Double类型:转换为Float类型:转换为 ...

  4. Apache commons lang3 StringUtils工具类

    Apache commons lang3 StringUtils工具类 Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常 ...

  5. Spark - Illegal pattern component: XXX 与org.apache.commons.lang3.time.FastDateFormat incompatible

    一.引言 使用 sparkSession 读文件时出现 java.lang.IllegalArgumentException: Illegal pattern component: XXX 报错,解决 ...

  6. java的StringUtils.isBlank和StringUtils.isEmpty方法区别(org.apache.commons.lang3.StringUtils)

    前言 估计很多朋友跟我一样,平时也不会特别去注意究竟用isBlank还是isEmpty去判断空字符串,但是大部分场景优先使用isBlank就对了. isEmpty是否为空,只有当==null或者==& ...

  7. org.apache.commons.lang3.StringUtils 的相关用法

    一.jar包下载 commons-lang3-3.1.jar java 开发工具commons-lang3-3.0 jar包,有org.apache.commons.lang3.StringUtils ...

  8. org.apache.commons.lang3.ArrayUtils 学习笔记

    package com.nihaorz.model;/*** @作者 王睿* @时间 2016-5-17 上午10:05:17**/ public class Person {private Stri ...

  9. 错误: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils

    做项目的时候,实现图片异步上传并返回json数据,但是图片上传成功,json数据没有返回,报错:  java.lang.ClassNotFoundException: org.apache.commo ...

最新文章

  1. 7.26-Codeforces Round #372 (Div. 2)
  2. 摄像机的几个重要的技术指标
  3. CCF NOI1134 奶牛晒衣服
  4. Qt5:为窗口 创建工具栏 toobar
  5. bzoj2746: [HEOI2012]旅行问题
  6. 不抛弃,不放弃@《士兵突击》
  7. 【工具】Xshell安装注册以及简单属性配置
  8. HDU 2084 数塔
  9. gulp-uglify《JS压缩》----gulp系列(四)
  10. 赛车游戏代码大全html,赛车游戏代码
  11. ListView中嵌套checkbox
  12. PDF文件保密和去除密码
  13. 使用IE缓存提取微博相片
  14. android摄像头(camera)之buffer管理
  15. Windows Live Writer插件开发
  16. 论文笔记(5.16,文本抗击,defense)--Combating Adversarial Misspellings with Robust Word Recognition
  17. 自己动手写一个番茄小助手
  18. ubuntu小技巧6--如何修复Ubuntu系统引导项
  19. My findings:CoordConv坐标嵌入技术及其泛化性能
  20. Redis三主三从集群搭建

热门文章

  1. 蒸汽机器人布里茨天赋_lolS7蒸汽机器人 布里茨怎么出装_lolS7机器人天赋出装推荐_玩游戏网...
  2. php分页代码简单实现_简单PHP分页
  3. usim卡如何换nano卡_换手机如何转移通讯录,苹果手机通讯录转移怎么最方便?...
  4. 高通骁龙800系列处理器型号大全资料
  5. Codeforces 165B Burning Midnight Oil 【二分】
  6. 5 个JavaScript中使用JSON的小技巧
  7. 在OpenStack私有云上创建与配置虚拟机
  8. 飞絮季消防安全不可忽视,这些防火知识要牢记
  9. 物理服务器内存条有安装位置一说吗,DELL官方服务器内存安装手册及注意事项...
  10. 数据结构与算法:二叉树的学习