/**
* 以秒为标准时间的毫秒数
*/
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)
44kl游客测试博文phpjava6flexarrayjsonstringphp,echoapacheiis7.0iissessionsql脚本mysqlfunction远程调用分布式qqdiscuzdownfile上传springMVCbitbucketgitmavenpol.xmlDatenode.jsangular.jsyeomanlinuxXshellsftpwarspring,事件bughtml标签angularfilterquartz$resource,angular jquerytableApache CommonsHttpClientngrokWordPressRESTCORSfindSSLhttpsspring bootjsptilesmevoco云平台disconfZooKeeperredisuserAgentdubboLuceneLucene,indexLukecurdAnalyzerCacheCloudQueryParsersearchAfterHighlighterElasticsearchjestWebCollectoresjsoupCollectionListSetjpaDruidKaptcha验证码bitvisesshfastjson面试scpwgetGsonCalendarswaggerSpringfoxWeCenterJfinalspringspring mvcvalidtorJschAESRSAThreadScheduledExecutorServiceRunnable多线程jeecggogsormgoogle翻墙restfulrestyhudsonCentOs7FirewallRabbitMQRPCmotaniptables防火墙androidwebViewlogviewcatprofile微服务soa负载均衡,F5jira禅道jhipster跳板机/堡垒机activitinodethinkjedisredissonAMQPaoplog4jMQretrysolrtestsql队列BlockingQueuemongo注解apollowait_timeoutfeignDeferredResultwebsocketstompsockjsIDEAxxl-jobskywalkingjavaAgentjson-libExcelwordlockdevops持续集成持续部署持续交付xlxsxlshostsSwitchHostsspring batchactiveMQ经验总结,心得apollo,DataSourcejenkinssonarqubepipelinejenkinsfileblue ocean延迟队列delayQueueDisruptorlanproxyjvmArthasspring rpclogbacklogstashdockerk8skubernetespodSpring SecurityKubernetes uitcc分布式事务GTSfescarApache FlinkKafka事务rocksdbRESTExpressKlockspring-kafkaGradlej2Cachejedis poolspring-bootspring-boot-actuatorspring WebFluxSpring Cloud Gateway令牌桶限流漏桶计数器协程quasaretcdetcd-viewerjetcdThreadPoolExecutorExecutorServiceparkunpark.unsafepostmanTubeMQTimeoutExceptionRaftmapstructSpring Data JpaQueryDsllogaliyunlogspring boot,spring boot starterp6spyHibernateOpen-EntityManager-in-viewmaven-enforcer-pluginWebFluxWebClientjdchain区块链MongoDBoplogbinlognacoskkfileviewTransactionalXAquarkusDebugvueCharlessl4jgrpcgithubRocketMQprometheusmetricswrkresteasy reactiveswagger uiopen api v3hystrixarchaiuseureka负载均衡PipedInputStreamPipedOutputStreamgitlabxxljobOIDC,Oauth2,OpenIdnexusgrafanaSentrySnubaClickhousegolangzstd
文章分类
友情链接
文章归档
- 2024-07 (1)
- 2024-02 (1)
- 2024-01 (1)
- 2023-10 (1)
- 2023-09 (1)
- 2023-06 (1)
- 2022-06 (2)
- 2022-04 (1)
- 2021-06 (4)
- 2021-05 (1)
- 2021-04 (1)
- 2021-03 (5)
- 2021-01 (2)
- 2020-12 (7)
- 2020-11 (6)
- 2020-10 (1)
- 2020-09 (7)
- 2020-08 (6)
- 2020-07 (11)
- 2020-06 (4)
- 2020-05 (4)
- 2020-04 (2)
- 2020-01 (2)
- 2019-12 (4)
- 2019-11 (6)
- 2019-10 (2)
- 2019-09 (5)
- 2019-07 (5)
- 2019-06 (7)
- 2019-05 (2)
- 2019-04 (4)
- 2019-03 (6)
- 2019-02 (1)
- 2019-01 (5)
- 2018-12 (2)
- 2018-11 (5)
- 2018-10 (4)
- 2018-09 (5)
- 2018-08 (1)
- 2018-07 (1)
- 2018-06 (2)
- 2018-05 (6)
- 2018-03 (5)
- 2018-02 (5)
- 2018-01 (7)
- 2017-12 (4)
- 2017-11 (8)
- 2017-10 (6)
- 2017-09 (5)
- 2017-08 (1)
- 2017-03 (6)
- 2017-02 (4)
- 2016-12 (2)
- 2016-11 (2)
- 2016-10 (2)
- 2016-09 (3)
- 2016-08 (2)
- 2016-07 (7)
- 2016-06 (14)
- 2016-05 (13)
- 2016-04 (13)
- 2016-03 (29)
- 2016-02 (3)
- 2016-01 (2)
- 2015-12 (4)
- 2015-11 (5)
- 2015-10 (4)
- 2015-09 (5)
- 2015-08 (7)
- 2015-07 (5)
- 2015-06 (9)
- 2015-05 (7)