public class DateUtils
extends org.apache.commons.lang3.time.DateUtils
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
defaultLocalDatePattern
LocalDate 默认格式
|
static String |
defaultLocalDateTimePattern
LocalDateTime 默认格式
|
static String |
defaultLocalTimePattern
LocalTime 默认格式
|
static int |
MIN_DATE_YEAR
Date 对象最小年份
|
static ZoneId |
SYSTEM_ZONE_ID
系统时区
|
static ZoneOffset |
SYSTEM_ZONE_OFFSET
系统时区偏移
|
| 构造器和说明 |
|---|
DateUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static Duration |
between(@NonNull Date startInclusive,
@NonNull Date endExclusive)
时间差
|
static long |
between(@NonNull Date startInclusive,
@NonNull Date endExclusive,
@NonNull ChronoUnit chronoUnit)
时间差
|
static Duration |
between(@NonNull Temporal startInclusive,
@NonNull Temporal endExclusive)
时间差
|
static long |
between(@NonNull Temporal startInclusive,
@NonNull Temporal endExclusive,
@NonNull ChronoUnit chronoUnit)
时间差
|
static String |
convertMonthShortText(@NonNull String monthNumber)
转换数字月到英文短文本月
|
static String |
convertMonthShortText(@NonNull String monthNumber,
@NonNull Locale locale)
转换数字月到短文本月
|
static String |
convertMonthText(@NonNull String monthNumber)
转换数字月到英文文本月
|
static String |
convertMonthText(@NonNull String monthNumber,
@NonNull Locale locale)
转换数字月到文本月
|
static String[] |
convertWeeks(@NonNull String weeks)
转换星期字符串为星期数组
|
static String[] |
convertWeeks(@NonNull String weeks,
@NonNull String splitRegex)
转换星期字符串为星期数组
|
static String |
format(@NonNull Date date)
格式化为 DateUtils#defaultLocalDateTimePattern 的字符串
|
static String |
format(@NonNull Date date,
@NonNull String pattern)
格式化为指定格式的字符串
|
static String |
format(@NonNull Date date,
@NonNull ZoneId zoneId)
格式化为指定时区的字符串
|
static String |
format(@NonNull Date date,
ZoneId zoneId,
@NonNull String pattern)
格式化为指定时区和格式的字符串
|
static String |
format(long epochMilli)
格式化为 DateUtils#defaultLocalDateTimePattern 的字符串
|
static String |
format(long epochMilli,
@NonNull String pattern)
格式化为指定时区和格式的字符串
|
static String |
format(long epochMilli,
@NonNull ZoneId zoneId)
格式化为 DateUtils#defaultLocalDateTimePattern 的字符串
|
static String |
format(long epochMilli,
ZoneId zoneId,
@NonNull String pattern)
格式化为指定时区和格式的字符串
|
static String |
format(@NonNull Temporal temporal)
格式化为指定格式的字符串,格式根据时间对象的类型判断
LocalDateTime、ZonedDateTime:DateUtils#defaultLocalDatePattern
LocalDate:DateUtils#defaultLocalDateTimePattern LocalTime:DateUtils#defaultLocalTimePattern |
static String |
format(@NonNull Temporal temporal,
@NonNull String pattern)
格式化为指定格式的字符串
|
static String |
format(@NonNull Temporal temporal,
ZoneId zoneId)
格式化为指定时区和格式的字符串,格式根据时间对象的类型判断
LocalDateTime、ZonedDateTime:DateUtils#defaultLocalDatePattern
LocalDate:DateUtils#defaultLocalDateTimePattern LocalTime:DateUtils#defaultLocalTimePattern |
static String |
format(@NonNull Temporal temporal,
ZoneId zoneId,
@NonNull String pattern)
格式化为指定时区和格式的字符串
|
static String |
formatBetween(@NonNull Date startInclusive,
@NonNull Date endExclusive,
boolean isIgnoreZero,
String weekSuffix,
String dayOfMonthSuffix,
String hourSuffix,
String minuteSuffix,
String secondSuffix,
String millisSuffix)
格式化时间差
|
static String |
formatBetween(@NonNull Date startInclusive,
@NonNull Date endExclusive,
@NonNull String pattern)
格式化时间差
|
static String |
formatBetween(@NonNull Temporal startInclusive,
@NonNull Temporal endExclusive,
boolean isIgnoreZero,
String weekSuffix,
String dayOfMonthSuffix,
String hourSuffix,
String minuteSuffix,
String secondSuffix,
String millisSuffix)
格式化时间差
|
static String |
formatBetween(@NonNull Temporal startInclusive,
@NonNull Temporal endExclusive,
@NonNull String pattern)
格式化时间差
|
static String |
formatCountdown(long epochMilli,
boolean isIgnoreZero,
String weekSuffix,
String dayOfMonthSuffix,
String hourSuffix,
String minuteSuffix,
String secondSuffix,
String millisSuffix)
格式化倒计时字符串
|
static String |
formatCountdown(long epochMilli,
@NonNull String pattern)
格式化倒计时字符串
|
static List<String> |
getByRange(@NonNull LocalDateTime startTime,
@NonNull LocalDateTime endTime,
@NonNull String pattern)
获取日期范围内的所有日期
|
static List<LocalDateTime> |
getByRangeAndWeeks(@NonNull LocalDateTime startTime,
@NonNull LocalDateTime endTime,
@NonNull String weeks)
获取日期范围内的所有指定星期,包含开始日期和结束日期
|
static List<String> |
getByRangeAndWeeks(@NonNull LocalDateTime startTime,
@NonNull LocalDateTime endTime,
@NonNull String weeks,
@NonNull String pattern)
获取日期范围内的所有指定星期,包含开始日期和结束日期
|
static List<LocalDateTime> |
getByWeeks(@NonNull String weeks,
LocalDateTime... times)
获取符合周几的时间
|
static DateTimeFormatter |
getDefaultFormatter(@NonNull String pattern)
获取默认的时间格式器(严格模式),对应时间级别没有就赋默认值:1970-01-01 00:00:00.0,内容格式为英文
|
static DateTimeFormatter |
getDefaultFormatter(@NonNull String pattern,
@NonNull Locale locale)
获取默认的时间格式器(严格模式),对应时间级别没有就赋默认值:1970-01-01 00:00:00.0
|
static DateTimeFormatter |
getDefaultFormatter(@NonNull String pattern,
Locale locale,
ZoneId atZoneId)
获取默认的时间格式器(严格模式),对应时间级别没有就赋默认值:1970-01-01 00:00:00.00000000
|
static DateTimeFormatter |
getDefaultFormatter(@NonNull String pattern,
@NonNull ZoneId atZoneId)
获取默认的时间格式器(严格模式),对应时间级别没有就赋默认值:1970-01-01 00:00:00.0
|
static LocalDateTime[][] |
getDifferenceSetsByIntersection(@NonNull LocalDateTime x1,
@NonNull LocalDateTime y1,
@NonNull LocalDateTime x2,
@NonNull LocalDateTime y2)
获取两个时间段交集时的差集,如果差集和交集有相交就加减 1 毫秒
x1——————y1
| x2——————y2
时间段 1 在时间段 2 前面时,差集的第一段的结束时间(y1)减 1 毫秒
| x1——————y1
x2——————y2
时间段 1 在时间段 2 后面时,差集的第二段的开始时间(x1)加 1 毫秒
|
static LocalDateTime[][] |
getDifferenceSetsByIntersection(@NonNull LocalDateTime x1,
@NonNull LocalDateTime y1,
@NonNull LocalDateTime x2,
@NonNull LocalDateTime y2,
int augendOrMinuendType,
long augendOrMinuend,
ChronoUnit... chronoUnits)
获取两个时间段交集时的差集
|
static LocalDateTime[][] |
getDifferenceSetsByIntersection(@NonNull LocalDateTime x1,
@NonNull LocalDateTime y1,
@NonNull LocalDateTime x2,
@NonNull LocalDateTime y2,
long augendOrMinuend,
ChronoUnit... chronoUnits)
获取两个时间段交集时的差集
|
static DateTimeFormatterBuilder |
getFormatterBuilder(@NonNull String pattern,
Map<TemporalField,Long> fieldValueMap)
获取时间格式化构造器,并给不同时间级别赋默认值
|
static LocalDateTime[] |
getIntersection(@NonNull LocalDateTime x1,
@NonNull LocalDateTime y1,
@NonNull LocalDateTime x2,
@NonNull LocalDateTime y2)
获取两个时间段的交集
|
static boolean |
isIntersection(@NonNull LocalDateTime x1,
@NonNull LocalDateTime y1,
@NonNull LocalDateTime x2,
@NonNull LocalDateTime y2)
两个时间段是否交集
|
static boolean |
isLeapYear(@NonNull Date date)
是否为闰年
|
static boolean |
isLeapYear(int isoYear)
是否为闰年
|
static boolean |
isLeapYear(@NonNull Temporal temporal)
是否为闰年
|
static <T extends Temporal> |
max(@NonNull Temporal temporal,
TemporalField... temporalFields)
指定多个时间级别的最大时间
|
static Date |
maxDate(@NonNull Temporal temporal,
TemporalField... temporalFields)
指定多个时间级别的最大时间
|
static <T extends Temporal> |
min(@NonNull Temporal temporal,
TemporalField... temporalFields)
指定多个时间级别的最小时间
|
static Date |
minDate(@NonNull Temporal temporal,
TemporalField... temporalFields)
指定多个时间级别的最小时间
|
static String |
now()
获取当前时间字符串
|
static String |
now(@NonNull String pattern)
获取指定格式的当前时间字符串
|
static String |
now(@NonNull ZoneId zoneId)
获取指定时区的当前时间字符串
|
static String |
now(@NonNull ZoneId zoneId,
@NonNull String pattern)
获取指定时区和格式的当前时间字符串
|
static <T> T |
parse(long epochMilli,
@NonNull Class<T> clazz)
解析为时间对象
|
static <T> T |
parse(long epochMilli,
ZoneId zoneId,
@NonNull Class<T> clazz)
解析为指定时区的时间对象
|
static <T> T |
parse(@NonNull String source,
@NonNull Class<T> clazz)
解析为时间对象
|
static <T> T |
parse(@NonNull String source,
@NonNull Class<T> clazz,
String... patterns)
满足任意格式时解析为时间对象
|
static <T> T |
parse(@NonNull String source,
@NonNull ZoneId zoneId,
@NonNull Class<T> clazz)
解析指定时区的时间对象
|
static <T> T |
parse(@NonNull String source,
ZoneId zoneId,
@NonNull Class<T> clazz,
String... patterns)
满足任意格式时解析为指定时区的时间对象
|
static Date |
parseDate(long epochMilli)
解析为 Date 对象
|
static Date |
parseDate(long epochMilli,
ZoneId zoneId)
解析为指定时区的 Date 对象
|
static Date |
parseDate(@NonNull String source)
解析为 Date 对象
|
static Date |
parseDate(@NonNull String source,
String... patterns)
满足任意格式时解析为 Date 对象(org.apache.commons.lang3.time.DateUtils.parseDate)
|
static Date |
parseDate(@NonNull String source,
@NonNull ZoneId zoneId)
解析为指定时区的 Date 对象
|
static Date |
parseDate(@NonNull String source,
ZoneId zoneId,
String... patterns)
满足任意格式时解析为指定时区的 Date 对象
|
static LocalDate |
parseLocalDate(long epochMilli)
解析为 LocalDate 对象
|
static LocalDate |
parseLocalDate(long epochMilli,
ZoneId zoneId)
解析为指定时区的 LocalDate 对象
|
static LocalDate |
parseLocalDate(@NonNull String source)
解析为 LocalDate 对象,根据被解析字符串的长度判断格式
10:UUUU_MM_DD、UUUU_MM_DD_SLASH、UUUU_MM_DD_DOT
7:UUUU_MM、UUUU_MM_SLASH、UUUU_MM_DOT 8:HH_MM_SS 5:HH_MM |
static LocalDate |
parseLocalDate(@NonNull String source,
String... pattern)
满足任意格式就解析为 LocalDate 对象
|
static LocalDate |
parseLocalDate(@NonNull String source,
ZoneId zoneId)
解析为指定时区的 LocalDate 对象,根据被解析字符串的长度判断格式
需要注意的是 LocalDate 不存在时区概念,此处是将 time 补足为 LocalTime.MIN 后再转换为 LocalDate
10:UUUU_MM_DD、UUUU_MM_DD_SLASH、UUUU_MM_DD_DOT
7:UUUU_MM、UUUU_MM_SLASH、UUUU_MM_DOT 8:HH_MM_SS 5:HH_MM |
static LocalDate |
parseLocalDate(@NonNull String source,
ZoneId zoneId,
String... patterns)
满足任意格式时解析为指定时区的 LocalDate 对象
需要注意的是 LocalDate 不存在时区概念,此处是将 time 补足为 LocalTime.MIN 后再转换为 LocalDate
|
static LocalDateTime |
parseLocalDateTime(long epochMilli)
解析为 LocalDateTime 对象
|
static LocalDateTime |
parseLocalDateTime(long epochMilli,
ZoneId zoneId)
解析为指定时区的 LocalDateTime 对象
|
static LocalDateTime |
parseLocalDateTime(@NonNull String source)
解析为 LocalDateTime 对象,根据被解析字符串的长度判断格式
19:UUUU_MM_DD_HH_MM_SS、UUUU_MM_DD_SLASH_HH_MM_SS、UUUU_MM_DD_DOT_HH_MM_SS
16:UUUU_MM_DD_HH_MM、UUUU_MM_DD_SLASH_HH_MM、UUUU_MM_DD_DOT_HH_MM 10:UUUU_MM_DD、UUUU_MM_DD_SLASH、UUUU_MM_DD_DOT 7:UUUU_MM、UUUU_MM_SLASH、UUUU_MM_DOT 8:HH_MM_SS 5:HH_MM |
static LocalDateTime |
parseLocalDateTime(@NonNull String source,
String... patterns)
满足任意格式时解析为 LocalDateTime 对象
|
static LocalDateTime |
parseLocalDateTime(@NonNull String source,
ZoneId zoneId)
解析为指定时区的 LocalDateTime 对象,根据被解析字符串的长度判断格式
19:UUUU_MM_DD_HH_MM_SS、UUUU_MM_DD_SLASH_HH_MM_SS、UUUU_MM_DD_DOT_HH_MM_SS
16:UUUU_MM_DD_HH_MM、UUUU_MM_DD_SLASH_HH_MM、UUUU_MM_DD_DOT_HH_MM 10:UUUU_MM_DD、UUUU_MM_DD_SLASH、UUUU_MM_DD_DOT 7:UUUU_MM、UUUU_MM_SLASH、UUUU_MM_DOT 8:HH_MM_SS 5:HH_MM |
static LocalDateTime |
parseLocalDateTime(@NonNull String source,
ZoneId zoneId,
String... patterns)
满足任意格式时解析为指定时区的 LocalDateTime 对象
|
static LocalTime |
parseLocalTime(long epochMilli)
解析为 LocalTime 对象
|
static LocalTime |
parseLocalTime(long epochMilli,
ZoneId zoneId)
解析为指定时区的 LocalTime 对象
|
static LocalTime |
parseLocalTime(@NonNull String source)
解析为 LocalTime,根据被解析字符串的长度判断格式
8:HH_MM_SS
5:HH_MM |
static LocalTime |
parseLocalTime(@NonNull String source,
String... patterns)
满足任意格式就解析为 LocalTime 对象
|
static LocalTime |
parseLocalTime(@NonNull String source,
ZoneId zoneId)
解析为指定时区的 LocalTime 对象,根据被解析字符串的长度判断格式
需要注意的是 LocalTime 不存在时区概念,此处是将 date 补足为 LocalDate.now() 后再转换为 LocalTime
8:HH_MM_SS
5:HH_MM |
static LocalTime |
parseLocalTime(@NonNull String source,
ZoneId zoneId,
String... patterns)
满足任意格式时解析为指定时区的 LocalTime 对象
需要注意的是 LocalTime 不存在时区概念,此处是将 date 补足为 LocalDate.now() 后再转换为 LocalTime
|
static <T extends Temporal> |
plusOrMinus(T temporal,
long augendOrMinuend)
加减指定数量的时间,时间周期为毫秒
|
static <T extends Temporal> |
plusOrMinus(T temporal,
long augendOrMinuend,
ChronoUnit... chronoUnits)
加减指定时间类型数量的时间
|
static long |
toChronoUnit(long milli,
@NonNull ChronoUnit chronoUnit)
毫秒转换为指定时间类型
|
static Date |
toDate(@NonNull Temporal temporal)
转换为 Date 对象
|
static Date |
toDate(@NonNull Temporal temporal,
ZoneId zoneId)
转换为指定时区的 Date 对象
|
static String |
today()
获取当天时间字符串
|
static LocalDateTime |
todayMaxTime()
获取今天结束时间
|
static LocalDateTime |
todayMaxTime(long days)
获取指定加减天的今天结束时间
|
static LocalDateTime |
todayMaxTime(@NonNull ZoneId zoneId)
获取指定时区的今天结束时间
|
static LocalDateTime |
todayMaxTime(ZoneId zoneId,
Long addOrSubtractDays)
获取指定时区和加减天的今天结束时间
|
static String |
todayMaxTimeStr()
获取今天结束时间字符串
|
static String |
todayMaxTimeStr(@NonNull String pattern)
获取指定格式的今天结束时间字符串
|
static String |
todayMaxTimeStr(@NonNull ZoneId zoneId,
@NonNull String pattern)
获取指定时区和格式的今天结束时间字符串
|
static String |
todayMaxTimeStr(ZoneId zoneId,
@NonNull String pattern,
Long addOrSubtractDays)
获取指定时区、格式和加减天的今天结束时间字符串
|
static LocalDateTime |
todayMinTime()
获取今天开始时间
|
static LocalDateTime |
todayMinTime(long days)
获取指定加减天的今天开始时间
|
static LocalDateTime |
todayMinTime(@NonNull ZoneId zoneId)
获取指定时区的今天开始时间
|
static LocalDateTime |
todayMinTime(ZoneId zoneId,
Long addOrSubtractDays)
获取指定时区和加减天的今天开始时间
|
static String |
todayMinTimeStr()
获取今天开始时间字符串
|
static String |
todayMinTimeStr(@NonNull String pattern)
获取指定格式的今天开始时间字符串
|
static String |
todayMinTimeStr(@NonNull ZoneId zoneId,
@NonNull String pattern)
获取指定时区和格式的今天开始时间字符串
|
static String |
todayMinTimeStr(ZoneId zoneId,
@NonNull String pattern,
Long addOrSubtractDays)
获取指定时区、格式和加减天的今天开始时间字符串
|
static LocalDate |
toLocalDate(@NonNull Date date)
转换为 LocalDate 对象
|
static LocalDateTime |
toLocalDateTime(@NonNull Date date)
转换为 LocalDateTime 对象
|
static LocalTime |
toLocalTime(@NonNull Date date)
转换为 LocalTime 对象
|
static <T extends Temporal> |
toTemporal(@NonNull Date date,
@NonNull Class<T> clazz)
转换为 Temporal(LocalDateTime、LocalDate、LocalTime、ZonedDateTime、OffsetDateTime)对象
|
static Date |
withZoneInstant(@NonNull Date date,
@NonNull ZoneId newZoneId)
从系统时区转换到新时区
|
static Date |
withZoneInstant(@NonNull Date date,
@NonNull ZoneId oldZoneId,
@NonNull ZoneId newZoneId)
从旧时区转换到新时区
|
static <T extends Temporal> |
withZoneInstant(T temporal,
@NonNull ZoneId newZoneId)
从系统时区转换到新时区
|
static <T extends Temporal> |
withZoneInstant(T temporal,
@NonNull ZoneId oldZoneId,
@NonNull ZoneId newZoneId)
从旧时区转换到新时区
ZonedDateTime 对象请直接用 .withZoneSameInstant(newZoneId)
|
addDays, addHours, addMilliseconds, addMinutes, addMonths, addSeconds, addWeeks, addYears, ceiling, ceiling, ceiling, getFragmentInDays, getFragmentInDays, getFragmentInHours, getFragmentInHours, getFragmentInMilliseconds, getFragmentInMilliseconds, getFragmentInMinutes, getFragmentInMinutes, getFragmentInSeconds, getFragmentInSeconds, isSameDay, isSameDay, isSameInstant, isSameInstant, isSameLocalTime, iterator, iterator, iterator, parseDate, parseDateStrictly, parseDateStrictly, round, round, round, setDays, setHours, setMilliseconds, setMinutes, setMonths, setSeconds, setYears, toCalendar, toCalendar, truncate, truncate, truncate, truncatedCompareTo, truncatedCompareTo, truncatedEquals, truncatedEqualspublic static final int MIN_DATE_YEAR
public static final ZoneId SYSTEM_ZONE_ID
public static final ZoneOffset SYSTEM_ZONE_OFFSET
public static String defaultLocalDatePattern
public static String defaultLocalDateTimePattern
public static String defaultLocalTimePattern
public static DateTimeFormatterBuilder getFormatterBuilder(@NonNull @NonNull String pattern, Map<TemporalField,Long> fieldValueMap)
pattern - 格式fieldValueMap - 时间类型和值public static DateTimeFormatter getDefaultFormatter(@NonNull @NonNull String pattern, Locale locale, ZoneId atZoneId)
pattern - 格式locale - 区域atZoneId - 时区public static DateTimeFormatter getDefaultFormatter(@NonNull @NonNull String pattern, @NonNull @NonNull Locale locale)
pattern - 格式locale - 区域public static DateTimeFormatter getDefaultFormatter(@NonNull @NonNull String pattern, @NonNull @NonNull ZoneId atZoneId)
pattern - 格式atZoneId - 时区public static DateTimeFormatter getDefaultFormatter(@NonNull @NonNull String pattern)
pattern - 格式public static String convertMonthShortText(@NonNull @NonNull String monthNumber, @NonNull @NonNull Locale locale)
monthNumber - 数字月locale - 区域public static String convertMonthShortText(@NonNull @NonNull String monthNumber)
monthNumber - 数字月public static String convertMonthText(@NonNull @NonNull String monthNumber, @NonNull @NonNull Locale locale)
monthNumber - 数字月locale - 区域public static String convertMonthText(@NonNull @NonNull String monthNumber)
monthNumber - 数字月public static String format(@NonNull @NonNull Temporal temporal, ZoneId zoneId, @NonNull @NonNull String pattern)
temporal - 时间对象zoneId - 时区pattern - 格式public static String format(@NonNull @NonNull Temporal temporal, ZoneId zoneId)
LocalDateTime、ZonedDateTime:DateUtils#defaultLocalDatePattern
LocalDate:DateUtils#defaultLocalDateTimePattern
LocalTime:DateUtils#defaultLocalTimePattern
temporal - 时间对象zoneId - 时区public static String format(@NonNull @NonNull Temporal temporal, @NonNull @NonNull String pattern)
temporal - 时间对象pattern - 格式public static String format(@NonNull @NonNull Temporal temporal)
LocalDateTime、ZonedDateTime:DateUtils#defaultLocalDatePattern
LocalDate:DateUtils#defaultLocalDateTimePattern
LocalTime:DateUtils#defaultLocalTimePattern
temporal - 时间对象public static String format(@NonNull @NonNull Date date, ZoneId zoneId, @NonNull @NonNull String pattern)
date - 时间对象zoneId - 时区pattern - 格式public static String format(@NonNull @NonNull Date date, @NonNull @NonNull ZoneId zoneId)
date - 时间对象zoneId - 时区public static String format(@NonNull @NonNull Date date, @NonNull @NonNull String pattern)
date - 时间对象pattern - 格式public static String format(@NonNull @NonNull Date date)
date - 时间对象public static String format(long epochMilli, ZoneId zoneId, @NonNull @NonNull String pattern)
epochMilli - 时间戳zoneId - 时区pattern - 格式public static String format(long epochMilli, @NonNull @NonNull ZoneId zoneId)
epochMilli - 时间戳zoneId - 时区public static String format(long epochMilli, @NonNull @NonNull String pattern)
epochMilli - 时间戳pattern - 格式public static String format(long epochMilli)
epochMilli - 时间戳public static String formatCountdown(long epochMilli, @NonNull @NonNull String pattern)
epochMilli - 时间戳pattern - 格式public static String formatCountdown(long epochMilli, boolean isIgnoreZero, String weekSuffix, String dayOfMonthSuffix, String hourSuffix, String minuteSuffix, String secondSuffix, String millisSuffix)
epochMilli - 时间戳isIgnoreZero - 是否忽略为 0 的时间级别weekSuffix - 周后缀dayOfMonthSuffix - 天后缀hourSuffix - 小时后缀minuteSuffix - 分钟后缀secondSuffix - 秒后缀millisSuffix - 毫秒后缀public static Date toDate(@NonNull @NonNull Temporal temporal, ZoneId zoneId)
temporal - 时间对象zoneId - 时区public static Date toDate(@NonNull @NonNull Temporal temporal)
temporal - 时间对象public static LocalDateTime toLocalDateTime(@NonNull @NonNull Date date)
date - 时间对象public static LocalDate toLocalDate(@NonNull @NonNull Date date)
date - 时间对象public static LocalTime toLocalTime(@NonNull @NonNull Date date)
date - 时间对象public static <T extends Temporal> T toTemporal(@NonNull @NonNull Date date, @NonNull @NonNull Class<T> clazz)
T - 时间类date - 时间对象clazz - 时间类public static LocalDateTime parseLocalDateTime(long epochMilli, ZoneId zoneId)
epochMilli - 时间戳zoneId - 时区public static LocalDateTime parseLocalDateTime(long epochMilli)
epochMilli - 时间戳public static LocalDateTime parseLocalDateTime(@NonNull @NonNull String source, ZoneId zoneId, @NonNull String... patterns)
source - 字符串zoneId - 时区patterns - 多种格式public static LocalDateTime parseLocalDateTime(@NonNull @NonNull String source, ZoneId zoneId)
19:UUUU_MM_DD_HH_MM_SS、UUUU_MM_DD_SLASH_HH_MM_SS、UUUU_MM_DD_DOT_HH_MM_SS
16:UUUU_MM_DD_HH_MM、UUUU_MM_DD_SLASH_HH_MM、UUUU_MM_DD_DOT_HH_MM
10:UUUU_MM_DD、UUUU_MM_DD_SLASH、UUUU_MM_DD_DOT
7:UUUU_MM、UUUU_MM_SLASH、UUUU_MM_DOT
8:HH_MM_SS
5:HH_MM
source - 字符串zoneId - 时区public static LocalDateTime parseLocalDateTime(@NonNull @NonNull String source, @NonNull String... patterns)
source - 字符串patterns - 多种格式public static LocalDateTime parseLocalDateTime(@NonNull @NonNull String source)
19:UUUU_MM_DD_HH_MM_SS、UUUU_MM_DD_SLASH_HH_MM_SS、UUUU_MM_DD_DOT_HH_MM_SS
16:UUUU_MM_DD_HH_MM、UUUU_MM_DD_SLASH_HH_MM、UUUU_MM_DD_DOT_HH_MM
10:UUUU_MM_DD、UUUU_MM_DD_SLASH、UUUU_MM_DD_DOT
7:UUUU_MM、UUUU_MM_SLASH、UUUU_MM_DOT
8:HH_MM_SS
5:HH_MM
source - 字符串public static LocalDate parseLocalDate(long epochMilli, ZoneId zoneId)
epochMilli - 被解析的时间戳zoneId - 时区public static LocalDate parseLocalDate(long epochMilli)
epochMilli - 时间戳public static LocalDate parseLocalDate(@NonNull @NonNull String source, ZoneId zoneId, @NonNull String... patterns)
需要注意的是 LocalDate 不存在时区概念,此处是将 time 补足为 LocalTime.MIN 后再转换为 LocalDate
source - 字符串zoneId - 时区patterns - 多种格式public static LocalDate parseLocalDate(@NonNull @NonNull String source, ZoneId zoneId)
需要注意的是 LocalDate 不存在时区概念,此处是将 time 补足为 LocalTime.MIN 后再转换为 LocalDate
10:UUUU_MM_DD、UUUU_MM_DD_SLASH、UUUU_MM_DD_DOT
7:UUUU_MM、UUUU_MM_SLASH、UUUU_MM_DOT
8:HH_MM_SS
5:HH_MM
source - 字符串zoneId - 时区public static LocalDate parseLocalDate(@NonNull @NonNull String source, @NonNull String... pattern)
source - 字符串pattern - 格式public static LocalDate parseLocalDate(@NonNull @NonNull String source)
10:UUUU_MM_DD、UUUU_MM_DD_SLASH、UUUU_MM_DD_DOT
7:UUUU_MM、UUUU_MM_SLASH、UUUU_MM_DOT
8:HH_MM_SS
5:HH_MM
source - 字符串public static LocalTime parseLocalTime(long epochMilli, ZoneId zoneId)
epochMilli - 时间戳zoneId - 时区public static LocalTime parseLocalTime(long epochMilli)
epochMilli - 时间戳public static LocalTime parseLocalTime(@NonNull @NonNull String source, ZoneId zoneId, @NonNull String... patterns)
需要注意的是 LocalTime 不存在时区概念,此处是将 date 补足为 LocalDate.now() 后再转换为 LocalTime
source - 字符串zoneId - 时区patterns - 多个格式public static LocalTime parseLocalTime(@NonNull @NonNull String source, ZoneId zoneId)
需要注意的是 LocalTime 不存在时区概念,此处是将 date 补足为 LocalDate.now() 后再转换为 LocalTime
8:HH_MM_SS
5:HH_MM
source - 字符串zoneId - 时区public static LocalTime parseLocalTime(@NonNull @NonNull String source, @NonNull String... patterns)
source - 字符串patterns - 多种格式public static LocalTime parseLocalTime(@NonNull @NonNull String source)
8:HH_MM_SS
5:HH_MM
source - 被解析的字符串public static Date parseDate(long epochMilli, ZoneId zoneId)
epochMilli - 时间戳zoneId - 时区public static Date parseDate(long epochMilli)
epochMilli - 时间戳public static Date parseDate(@NonNull @NonNull String source, ZoneId zoneId, @NonNull String... patterns)
source - 字符串zoneId - 时区patterns - 多个格式public static Date parseDate(@NonNull @NonNull String source, @NonNull @NonNull ZoneId zoneId)
source - 字符串zoneId - 时区public static Date parseDate(@NonNull @NonNull String source, @NonNull String... patterns)
source - 字符串patterns - 多个格式public static Date parseDate(@NonNull @NonNull String source)
source - 字符串public static <T> T parse(long epochMilli,
ZoneId zoneId,
@NonNull
@NonNull Class<T> clazz)
T - 时间类epochMilli - 时间戳zoneId - 时区clazz - 时间类public static <T> T parse(long epochMilli,
@NonNull
@NonNull Class<T> clazz)
T - 时间类epochMilli - 时间戳clazz - 时间类public static <T> T parse(@NonNull
@NonNull String source,
ZoneId zoneId,
@NonNull
@NonNull Class<T> clazz,
@NonNull
String... patterns)
T - 时间类source - 字符串zoneId - 时区clazz - 时间类patterns - 多个格式public static <T> T parse(@NonNull
@NonNull String source,
@NonNull
@NonNull ZoneId zoneId,
@NonNull
@NonNull Class<T> clazz)
T - 时间类source - 字符串zoneId - 时区clazz - 时间类public static <T> T parse(@NonNull
@NonNull String source,
@NonNull
@NonNull Class<T> clazz,
@NonNull
String... patterns)
T - 时间类source - 字符串clazz - 时间类patterns - 多个格式public static <T> T parse(@NonNull
@NonNull String source,
@NonNull
@NonNull Class<T> clazz)
T - 时间类source - 字符串clazz - 时间类public static <T extends Temporal> T withZoneInstant(@NonNull T temporal, @NonNull @NonNull ZoneId oldZoneId, @NonNull @NonNull ZoneId newZoneId)
ZonedDateTime 对象请直接用 .withZoneSameInstant(newZoneId)
T - 时间类 extends Temporaltemporal - 时间对象oldZoneId - 旧时区newZoneId - 新时区public static <T extends Temporal> T withZoneInstant(@NonNull T temporal, @NonNull @NonNull ZoneId newZoneId)
T - 时间类 extends Temporaltemporal - 时间对象newZoneId - 新时区public static Date withZoneInstant(@NonNull @NonNull Date date, @NonNull @NonNull ZoneId oldZoneId, @NonNull @NonNull ZoneId newZoneId)
date - Date 对象oldZoneId - 旧时区newZoneId - 新时区public static Date withZoneInstant(@NonNull @NonNull Date date, @NonNull @NonNull ZoneId newZoneId)
date - Date 对象newZoneId - 新时区public static String today()
public static String now()
public static String now(@NonNull @NonNull String pattern)
pattern - 格式public static String now(@NonNull @NonNull ZoneId zoneId)
zoneId - 时区public static String now(@NonNull @NonNull ZoneId zoneId, @NonNull @NonNull String pattern)
zoneId - 时区pattern - 格式public static <T extends Temporal> T min(@NonNull @NonNull Temporal temporal, @NonNull TemporalField... temporalFields)
T - 时间类temporal - 时间对象temporalFields - 多个最小时间的级别public static <T extends Temporal> T max(@NonNull @NonNull Temporal temporal, @NonNull TemporalField... temporalFields)
T - 时间类temporal - 时间对象temporalFields - 多个最大时间的级别public static Date minDate(@NonNull @NonNull Temporal temporal, @NonNull TemporalField... temporalFields)
temporal - 时间对象temporalFields - 多个最小时间的级别public static Date maxDate(@NonNull @NonNull Temporal temporal, @NonNull TemporalField... temporalFields)
temporal - 时间对象temporalFields - 多个最大时间的级别public static LocalDateTime todayMinTime(ZoneId zoneId, Long addOrSubtractDays)
zoneId - 时区addOrSubtractDays - 加减天public static LocalDateTime todayMinTime(@NonNull @NonNull ZoneId zoneId)
zoneId - 时区public static LocalDateTime todayMinTime(long days)
days - 加减天public static LocalDateTime todayMinTime()
public static String todayMinTimeStr(ZoneId zoneId, @NonNull @NonNull String pattern, Long addOrSubtractDays)
zoneId - 时区pattern - 格式addOrSubtractDays - 加减天public static String todayMinTimeStr(@NonNull @NonNull ZoneId zoneId, @NonNull @NonNull String pattern)
zoneId - 时区pattern - 格式public static String todayMinTimeStr(@NonNull @NonNull String pattern)
pattern - 格式public static String todayMinTimeStr()
public static LocalDateTime todayMaxTime(ZoneId zoneId, Long addOrSubtractDays)
zoneId - 时区addOrSubtractDays - 加减天public static LocalDateTime todayMaxTime(@NonNull @NonNull ZoneId zoneId)
zoneId - 时区public static LocalDateTime todayMaxTime(long days)
days - 加减天public static LocalDateTime todayMaxTime()
public static String todayMaxTimeStr(ZoneId zoneId, @NonNull @NonNull String pattern, Long addOrSubtractDays)
zoneId - 时区pattern - 格式addOrSubtractDays - 加减天public static String todayMaxTimeStr(@NonNull @NonNull ZoneId zoneId, @NonNull @NonNull String pattern)
zoneId - 时区pattern - 格式public static String todayMaxTimeStr(@NonNull @NonNull String pattern)
pattern - 格式public static String todayMaxTimeStr()
public static <T extends Temporal> T plusOrMinus(@NonNull T temporal, long augendOrMinuend, @NonNull ChronoUnit... chronoUnits)
T - 时间类temporal - 被加减的时间对象augendOrMinuend - 加减数量chronoUnits - 多个时间类型public static <T extends Temporal> T plusOrMinus(@NonNull T temporal, long augendOrMinuend)
T - 时间类temporal - 被加减的时间对象augendOrMinuend - 加减数量public static long toChronoUnit(long milli,
@NonNull
@NonNull ChronoUnit chronoUnit)
milli - 毫秒chronoUnit - 时间类型,当它大于周时,返回的是平均时间public static Duration between(@NonNull @NonNull Temporal startInclusive, @NonNull @NonNull Temporal endExclusive)
startInclusive - 开始时间endExclusive - 结束时间public static long between(@NonNull
@NonNull Temporal startInclusive,
@NonNull
@NonNull Temporal endExclusive,
@NonNull
@NonNull ChronoUnit chronoUnit)
startInclusive - 开始时间endExclusive - 结束时间chronoUnit - 时间周期public static Duration between(@NonNull @NonNull Date startInclusive, @NonNull @NonNull Date endExclusive)
startInclusive - 开始时间endExclusive - 结束时间public static long between(@NonNull
@NonNull Date startInclusive,
@NonNull
@NonNull Date endExclusive,
@NonNull
@NonNull ChronoUnit chronoUnit)
startInclusive - 开始时间endExclusive - 结束时间chronoUnit - 时间周期public static String formatBetween(@NonNull @NonNull Temporal startInclusive, @NonNull @NonNull Temporal endExclusive, @NonNull @NonNull String pattern)
startInclusive - 开始时间endExclusive - 结束时间pattern - 格式public static String formatBetween(@NonNull @NonNull Date startInclusive, @NonNull @NonNull Date endExclusive, @NonNull @NonNull String pattern)
startInclusive - 开始时间endExclusive - 结束时间pattern - 格式public static String formatBetween(@NonNull @NonNull Date startInclusive, @NonNull @NonNull Date endExclusive, boolean isIgnoreZero, String weekSuffix, String dayOfMonthSuffix, String hourSuffix, String minuteSuffix, String secondSuffix, String millisSuffix)
startInclusive - 开始时间endExclusive - 结束时间isIgnoreZero - 是否忽略为 0 的时间级别weekSuffix - 周后缀dayOfMonthSuffix - 天后缀hourSuffix - 小时后缀minuteSuffix - 分钟后缀secondSuffix - 秒后缀millisSuffix - 毫秒后缀public static String formatBetween(@NonNull @NonNull Temporal startInclusive, @NonNull @NonNull Temporal endExclusive, boolean isIgnoreZero, String weekSuffix, String dayOfMonthSuffix, String hourSuffix, String minuteSuffix, String secondSuffix, String millisSuffix)
startInclusive - 开始时间endExclusive - 结束时间isIgnoreZero - 是否忽略为 0 的时间级别weekSuffix - 周后缀dayOfMonthSuffix - 天后缀hourSuffix - 小时后缀minuteSuffix - 分钟后缀secondSuffix - 秒后缀millisSuffix - 毫秒后缀public static boolean isLeapYear(@NonNull
@NonNull Temporal temporal)
temporal - 时间对象public static boolean isLeapYear(@NonNull
@NonNull Date date)
date - 时间对象public static boolean isLeapYear(int isoYear)
isoYear - 年public static boolean isIntersection(@NonNull
@NonNull LocalDateTime x1,
@NonNull
@NonNull LocalDateTime y1,
@NonNull
@NonNull LocalDateTime x2,
@NonNull
@NonNull LocalDateTime y2)
x1 - 时间段 1 开始时间y1 - 时间段 1 结束时间x2 - 时间段 2 开始时间y2 - 时间段 2 结束时间public static LocalDateTime[] getIntersection(@NonNull @NonNull LocalDateTime x1, @NonNull @NonNull LocalDateTime y1, @NonNull @NonNull LocalDateTime x2, @NonNull @NonNull LocalDateTime y2)
x1 - 时间段 1 开始时间y1 - 时间段 1 结束时间x2 - 时间段 2 开始时间y2 - 时间段 2 结束时间public static LocalDateTime[][] getDifferenceSetsByIntersection(@NonNull @NonNull LocalDateTime x1, @NonNull @NonNull LocalDateTime y1, @NonNull @NonNull LocalDateTime x2, @NonNull @NonNull LocalDateTime y2, int augendOrMinuendType, long augendOrMinuend, @NonNull ChronoUnit... chronoUnits)
x1 - 时间段 1 开始时间y1 - 时间段 1 结束时间x2 - 时间段 2 开始时间y2 - 时间段 2 结束时间augendOrMinuendType - 谁加减数量,差集 [[x1, y1], [x2, y2]]
1:y1 减
2:x2 加
其他:默认,见下文
x1——————y1 | x2——————y2 时间段 1 在时间段 2 前面时,差集的第一段的结束时间(y1)减。 | x1——————y1 x2——————y2 时间段 1 在时间段 2 后面时,差集的第二段的开始时间(x1)加;
augendOrMinuend - 加减数量,避免差集与交集相交,小于 0 时忽略chronoUnits - 加减数量的时间周期public static LocalDateTime[][] getDifferenceSetsByIntersection(@NonNull @NonNull LocalDateTime x1, @NonNull @NonNull LocalDateTime y1, @NonNull @NonNull LocalDateTime x2, @NonNull @NonNull LocalDateTime y2, long augendOrMinuend, @NonNull ChronoUnit... chronoUnits)
x1 - 时间段 1 开始时间y1 - 时间段 1 结束时间x2 - 时间段 2 开始时间y2 - 时间段 2 结束时间augendOrMinuend - 加减数量,避免差集与交集相交,为 0 时忽略
x1——————y1 | x2——————y2 时间段 1 在时间段 2 前面时,差集的第一段的结束时间(y1)减。 | x1——————y1 x2——————y2 时间段 1 在时间段 2 后面时,差集的第二段的开始时间(x1)加;
chronoUnits - 加减数量的时间周期public static LocalDateTime[][] getDifferenceSetsByIntersection(@NonNull @NonNull LocalDateTime x1, @NonNull @NonNull LocalDateTime y1, @NonNull @NonNull LocalDateTime x2, @NonNull @NonNull LocalDateTime y2)
x1——————y1 | x2——————y2 时间段 1 在时间段 2 前面时,差集的第一段的结束时间(y1)减 1 毫秒 | x1——————y1 x2——————y2 时间段 1 在时间段 2 后面时,差集的第二段的开始时间(x1)加 1 毫秒
x1 - 时间段 1 开始时间y1 - 时间段 1 结束时间x2 - 时间段 2 开始时间y2 - 时间段 2 结束时间public static String[] convertWeeks(@NonNull @NonNull String weeks, @NonNull @NonNull String splitRegex)
weeks - 星期字符串splitRegex - 星期分隔符public static String[] convertWeeks(@NonNull @NonNull String weeks)
weeks - 星期字符串public static List<LocalDateTime> getByWeeks(@NonNull @NonNull String weeks, @NonNull LocalDateTime... times)
times - 时间weeks - 周几,逗号或者无分隔,1 代表周一public static List<String> getByRange(@NonNull @NonNull LocalDateTime startTime, @NonNull @NonNull LocalDateTime endTime, @NonNull @NonNull String pattern)
startTime - 开始时间endTime - 结束时间pattern - 结果集元素格式public static List<String> getByRangeAndWeeks(@NonNull @NonNull LocalDateTime startTime, @NonNull @NonNull LocalDateTime endTime, @NonNull @NonNull String weeks, @NonNull @NonNull String pattern)
startTime - 开始时间endTime - 结束时间weeks - 周几,逗号或者无分隔,1 代表周一pattern - 结果集元素的格式public static List<LocalDateTime> getByRangeAndWeeks(@NonNull @NonNull LocalDateTime startTime, @NonNull @NonNull LocalDateTime endTime, @NonNull @NonNull String weeks)
startTime - 开始时间endTime - 结束时间weeks - 周几,逗号或者无分隔,1 代表周一Copyright © 2022. All rights reserved.