Package org.miaixz.bus.core.center.date
Class Converter
java.lang.Object
org.miaixz.bus.core.center.date.Formatter
org.miaixz.bus.core.center.date.Converter
- Direct Known Subclasses:
Resolver
日期转换
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields inherited from class org.miaixz.bus.core.center.date.Formatter
CN_DATE_FORMAT, CN_DATE_FORMATTER, CN_DATE_TIME_FORMAT, CN_DATE_TIME_FORMATTER, CN_MONTH_FORMAT, CN_MONTH_FORMATTER, HTTP_DATETIME_FORMAT, HTTP_DATETIME_FORMAT_GMT, ISO8601_FORMAT, ISO8601_MS_FORMAT, ISO8601_MS_WITH_XXX_OFFSET_FORMAT, ISO8601_MS_WITH_ZONE_OFFSET_FORMAT, ISO8601_WITH_XXX_OFFSET_FORMAT, ISO8601_WITH_ZONE_OFFSET_FORMAT, JDK_DATETIME_FORMAT, MAX_HMS, NORM_DATE_FORMAT, NORM_DATE_FORMATTER, NORM_DATETIME_COMMA_MS_FORMAT, NORM_DATETIME_COMMA_MS_FORMATTER, NORM_DATETIME_FORMAT, NORM_DATETIME_FORMATTER, NORM_DATETIME_MINUTE_FORMAT, NORM_DATETIME_MINUTE_FORMATTER, NORM_DATETIME_MS_FORMAT, NORM_DATETIME_MS_FORMATTER, NORM_HOUR_MINUTE_FORMAT, NORM_HOUR_MINUTE_FORMATTER, NORM_MONTH_FORMAT, NORM_MONTH_FORMATTER, NORM_TIME_FORMAT, NORM_TIME_FORMATTER, PPURE_HOUR_MINUTE_FORMAT, PURE_DATE_FORMAT, PURE_DATE_FORMATTER, PURE_DATETIME_FORMAT, PURE_DATETIME_FORMATTER, PURE_DATETIME_MS_FORMAT, PURE_DATETIME_MS_FORMATTER, PURE_DATETIME_TIP_FORMAT, PURE_HOUR_MINUTE_FORMATTER, PURE_TIME_FORMAT, PURE_TIME_FORMATTER, SIMPLE_MONTH_FORMAT, SIMPLE_MONTH_FORMATTER, UTC_FORMAT, UTC_MS_FORMAT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DateTimedate(TemporalAccessor temporalAccessor) static DateTimestatic intget(TemporalAccessor temporalAccessor, TemporalField field) 安全获取时间的某个属性,属性不存在返回最小值,一般为0 注意请谨慎使用此方法,某些TemporalAccessor.isSupported(TemporalField)为false的方法返回最小值static LocalDateTimeof(long epochMilli) 毫秒转LocalDateTime,使用默认时区static LocalDateTime毫秒转LocalDateTime,根据时区不同,结果会产生时间偏移static LocalDateTime毫秒转LocalDateTime,结果会产生时间偏移static LocalDateTimeInstant转LocalDateTimeinstant是一个无时区的时间戳,在转换为本地时间时,需指定这个时间戳所在时区 如果所在时区与当前时区不同,会转换时间static LocalDateTimeInstant转LocalDateTimeinstant是一个无时区的时间戳,在转换为本地时间时,需指定这个时间戳所在时区 如果所在时区与当前时区不同,会转换时间static LocalDateTimeof(TemporalAccessor temporalAccessor) TemporalAccessor转LocalDateTime,使用默认时区static LocalDateofDate(TemporalAccessor temporalAccessor) TemporalAccessor转LocalDate,使用默认时区static DateTimeFormatter通过日期时间字符串构建DateTimeFormatterstatic LocalDateTimeofUTC(long epochMilli) 毫秒转LocalDateTime,使用UTC时区static LocalDateTimeInstant转LocalDateTime,使用UTC时区 此方法自动将一个UTC时间转换为本地时间,如传入00:00,则结果为08:00static ZonedDateTimeofZoned(TemporalAccessor temporalAccessor, ZoneId zoneId) static ChronoUnittoChronoUnit(TimeUnit unit) 将TimeUnit转换为ChronoUnit.static longtoEpochMilli(TemporalAccessor temporalAccessor) TemporalAccessor转换为 时间戳(从1970-01-01T00:00:00Z开始的毫秒数) 如果为Month,调用Month.getValue()如果为DayOfWeek,调用DayOfWeek.getValue()如果为Era,调用Era.getValue()static InstanttoInstant(TemporalAccessor temporalAccessor) TemporalAccessor转换为Instant对象static TimeUnittoTimeUnit(ChronoUnit unit) 转换ChronoUnit到TimeUnit.
-
Constructor Details
-
Converter
public Converter()
-
-
Method Details
-
date
- Parameters:
calendar-Calendar,如果传入null,返回null- Returns:
- 时间对象
-
date
- Parameters:
temporalAccessor-TemporalAccessor,常用子类:LocalDateTime、 LocalDate,如果传入null,返回null- Returns:
- 时间对象
-
get
安全获取时间的某个属性,属性不存在返回最小值,一般为0 注意请谨慎使用此方法,某些TemporalAccessor.isSupported(TemporalField)为false的方法返回最小值- Parameters:
temporalAccessor- 需要获取的时间对象field- 需要获取的属性- Returns:
- 时间的值,如果无法获取则获取最小值,一般为0
-
toEpochMilli
TemporalAccessor转换为 时间戳(从1970-01-01T00:00:00Z开始的毫秒数) 如果为Month,调用Month.getValue()如果为DayOfWeek,调用DayOfWeek.getValue()如果为Era,调用Era.getValue()- Parameters:
temporalAccessor- Date对象- Returns:
Instant对象
-
toInstant
TemporalAccessor转换为Instant对象- Parameters:
temporalAccessor- Date对象- Returns:
Instant对象
-
toChronoUnit
将TimeUnit转换为ChronoUnit.- Parameters:
unit- 被转换的TimeUnit单位,如果为null返回null- Returns:
ChronoUnit- Throws:
IllegalArgumentException
-
toTimeUnit
转换ChronoUnit到TimeUnit.- Parameters:
unit-ChronoUnit,如果为null返回null- Returns:
TimeUnit- Throws:
IllegalArgumentException- 如果TimeUnit没有对应单位抛出
-
ofUTC
Instant转LocalDateTime,使用UTC时区 此方法自动将一个UTC时间转换为本地时间,如传入00:00,则结果为08:00- Parameters:
instant-Instant- Returns:
LocalDateTime
-
of
Instant转LocalDateTimeinstant是一个无时区的时间戳,在转换为本地时间时,需指定这个时间戳所在时区 如果所在时区与当前时区不同,会转换时间- Parameters:
instant-InstantzoneId- 时区,如果给定的时区与当前时区不同,会转换时间- Returns:
LocalDateTime
-
of
Instant转LocalDateTimeinstant是一个无时区的时间戳,在转换为本地时间时,需指定这个时间戳所在时区 如果所在时区与当前时区不同,会转换时间- Parameters:
instant-InstanttimeZone- 时区,如果给定的时区与当前时区不同,会转换时间- Returns:
LocalDateTime
-
of
毫秒转LocalDateTime,使用默认时区注意:此方法使用默认时区,如果非UTC,会产生时间偏移
- Parameters:
epochMilli- 从1970-01-01T00:00:00Z开始计数的毫秒数- Returns:
LocalDateTime
-
ofUTC
毫秒转LocalDateTime,使用UTC时区- Parameters:
epochMilli- 从1970-01-01T00:00:00Z开始计数的毫秒数- Returns:
LocalDateTime
-
of
毫秒转LocalDateTime,根据时区不同,结果会产生时间偏移- Parameters:
epochMilli- 从1970-01-01T00:00:00Z开始计数的毫秒数zoneId- 时区- Returns:
LocalDateTime
-
of
毫秒转LocalDateTime,结果会产生时间偏移- Parameters:
epochMilli- 从1970-01-01T00:00:00Z开始计数的毫秒数timeZone- 时区- Returns:
LocalDateTime
-
of
TemporalAccessor转LocalDateTime,使用默认时区- Parameters:
temporalAccessor-TemporalAccessor- Returns:
LocalDateTime
-
ofDate
TemporalAccessor转LocalDate,使用默认时区- Parameters:
temporalAccessor-TemporalAccessor- Returns:
LocalDate
-
ofZoned
- Parameters:
temporalAccessor-TemporalAccessorzoneId- 时区ID- Returns:
ZonedDateTime
-
ofPattern
通过日期时间字符串构建DateTimeFormatter- Parameters:
pattern- 格式,如yyyy-MM-dd- Returns:
DateTimeFormatter
-