Package org.miaixz.bus.core.center.date
Class Formatter
java.lang.Object
org.miaixz.bus.core.center.date.Formatter
- Direct Known Subclasses:
Converter
日期格式化和解析
yyyy-MM-dd
HH:mm:ss
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm:ss.SSS
yyyy-MM-dd HH:mm:ss.SSSSSS
yyyy-MM-dd HH:mm:ss.SSSSSSSSS
yyyy-MM-dd'T'HH:mm:ss.SSSZ等等,支持毫秒、微秒和纳秒等精确时间
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FormatBuilder标准日期格式FormatBuilder:yyyy年MM月dd日static final DateTimeFormatter标准日期格式DateTimeFormatter:yyyy年MM月dd日static final FormatBuilder标准日期格式FormatBuilder:yyyy年MM月dd日HH时mm分ss秒static final DateTimeFormatter标准日期格式DateTimeFormatter:yyyy年MM月dd日HH时mm分ss秒static final FormatBuilder标准日期格式FormatBuilder:MM月dd日static final DateTimeFormatter标准日期格式DateTimeFormatter:MM月dd日static final FormatBuilderHTTP头中日期时间格式FormatBuilder:EEE, dd MMM yyyy HH:mm:ss zstatic final FormatBuilderHTTP头中日期时间格式FormatBuilder:EEE, dd MMM yyyy HH:mm:ss GMTstatic final FormatBuilderISO8601日期时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ssstatic final FormatBuilderUTC时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss.SSSstatic final FormatBuilderUTC时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss.SSSXXXstatic final FormatBuilderISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss.SSSZstatic final FormatBuilderISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ssXXXstatic final FormatBuilderISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ssZ,Z表示一个时间偏移,如+0800static final FormatBuilderJDK中日期时间格式FormatBuilder:EEE MMM dd HH:mm:ss zzz yyyystatic final LocalTime只有时分秒的最大时间static final FormatBuilder标准日期格式FormatBuilder:yyyy-MM-ddstatic final DateTimeFormatter标准日期格式DateTimeFormatter:yyyy-MM-ddstatic final FormatBuilderISO8601日期时间格式,精确到毫秒FormatBuilder:yyyy-MM-dd HH:mm:ss,SSSstatic final DateTimeFormatter标准日期格式DateTimeFormatter:yyyy-MM-dd HH:mm:ss,SSSstatic final FormatBuilder标准日期时间格式,精确到秒FormatBuilder:yyyy-MM-dd HH:mm:ssstatic final DateTimeFormatter标准日期时间格式,精确到秒DateTimeFormatter:yyyy-MM-dd HH:mm:ssstatic final FormatBuilder标准日期时间格式,精确到分FormatBuilder:yyyy-MM-dd HH:mmstatic final DateTimeFormatter标准日期格式DateTimeFormatter:yyyy-MM-dd HH:mmstatic final FormatBuilder标准日期时间格式,精确到毫秒FormatBuilder:yyyy-MM-dd HH:mm:ss.SSSstatic final DateTimeFormatter标准日期时间格式,精确到毫秒DateTimeFormatter:yyyy-MM-dd HH:mm:ss.SSSstatic final FormatBuilder标准时间格式FormatBuilder:HH:mmstatic final DateTimeFormatter标准日期格式DateTimeFormatter:HH:mmstatic final FormatBuilder年月格式FormatBuilder:yyyy-MMstatic final DateTimeFormatter年月格式DateTimeFormatter:yyyy-MMstatic final FormatBuilder标准时间格式FormatBuilder:HH:mm:ssstatic final DateTimeFormatter标准日期格式DateTimeFormatter:HH:mm:ssstatic final FormatBuilder标准日期格式FormatBuilder:HHmmstatic final FormatBuilder标准日期格式FormatBuilder:yyyyMMddstatic final DateTimeFormatter标准日期格式DateTimeFormatter:yyyyMMddstatic final FormatBuilder标准日期格式FormatBuilder:yyyyMMddHHmmssstatic final DateTimeFormatter标准日期格式DateTimeFormatter:yyyyMMddHHmmssstatic final FormatBuilder标准日期格式FormatBuilder:yyyyMMddHHmmssSSSstatic final DateTimeFormatter标准日期格式DateTimeFormatter:yyyyMMddHHmmssSSS see https://stackoverflow.com/questions/22588051/is-java-time-failing-to-parse-fraction-of-second jdk8 bug at: https://bugs.openjdk.java.net/browse/JDK-8031085static final FormatBuilder格式化通配符:FormatBuilderyyyyMMddHHmmss.SSSstatic final DateTimeFormatter标准日期格式DateTimeFormatter:HHmmstatic final FormatBuilder标准日期格式FormatBuilder:HHmmssstatic final DateTimeFormatter标准日期格式DateTimeFormatter:HHmmssstatic final FormatBuilder简单年月格式FormatBuilder:yyyyMMstatic final DateTimeFormatter简单年月格式DateTimeFormatter:yyyyMMstatic final FormatBuilderISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss'Z'static final FormatBuilderISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss.SSS'Z' -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Stringformat(long timestamp) 将Unix时间戳转换成日期static String将Unix时间戳转换成日期static long将指定的日期转换成Unix时间戳static long将指定的日期转换成Unix时间戳static String按照给定的通配模式,格式化成相应的时间字符串static Stringformat(ChronoLocalDate date) 格式化日期时间为yyyy-MM-dd格式static Stringformat(ChronoLocalDateTime<?> time) 格式化日期时间为yyyy-MM-dd HH:mm:ss格式static Function<TemporalAccessor, String> format(DateTimeFormatter dateTimeFormatter) 格式化时间函数static Stringformat(LocalDateTime localDateTime) 格式化日期时间 格式 yyyy-MM-dd HH:mm:ssstatic Stringformat(LocalDateTime localDateTime, String format) 根据特定格式格式化日期static Stringformat(TemporalAccessor time, String format) 格式化日期时间为指定格式 如果为Month,调用Enum.toString()static Stringformat(TemporalAccessor time, DateTimeFormatter formatter) 格式化日期时间为指定格式 如果为Month,调用Enum.toString()static SimpleDateFormatnewSimpleFormat(String pattern) 创建SimpleDateFormat,注意此对象非线程安全! 此对象默认为严格格式模式,即parse时如果格式不正确会报错。static SimpleDateFormatnewSimpleFormat(String pattern, Locale locale, TimeZone timeZone) 创建SimpleDateFormat,注意此对象非线程安全! 此对象默认为严格格式模式,即parse时如果格式不正确会报错。
-
Field Details
-
NORM_MONTH_FORMAT
年月格式FormatBuilder:yyyy-MM -
NORM_MONTH_FORMATTER
年月格式DateTimeFormatter:yyyy-MM -
SIMPLE_MONTH_FORMAT
简单年月格式FormatBuilder:yyyyMM -
SIMPLE_MONTH_FORMATTER
简单年月格式DateTimeFormatter:yyyyMM -
NORM_DATE_FORMAT
标准日期格式FormatBuilder:yyyy-MM-dd -
NORM_DATE_FORMATTER
标准日期格式DateTimeFormatter:yyyy-MM-dd -
NORM_HOUR_MINUTE_FORMAT
标准时间格式FormatBuilder:HH:mm -
NORM_HOUR_MINUTE_FORMATTER
标准日期格式DateTimeFormatter:HH:mm -
NORM_TIME_FORMAT
标准时间格式FormatBuilder:HH:mm:ss -
NORM_TIME_FORMATTER
标准日期格式DateTimeFormatter:HH:mm:ss -
NORM_DATETIME_MINUTE_FORMAT
标准日期时间格式,精确到分FormatBuilder:yyyy-MM-dd HH:mm -
NORM_DATETIME_MINUTE_FORMATTER
标准日期格式DateTimeFormatter:yyyy-MM-dd HH:mm -
NORM_DATETIME_FORMAT
标准日期时间格式,精确到秒FormatBuilder:yyyy-MM-dd HH:mm:ss -
NORM_DATETIME_FORMATTER
标准日期时间格式,精确到秒DateTimeFormatter:yyyy-MM-dd HH:mm:ss -
NORM_DATETIME_MS_FORMAT
标准日期时间格式,精确到毫秒FormatBuilder:yyyy-MM-dd HH:mm:ss.SSS -
NORM_DATETIME_MS_FORMATTER
标准日期时间格式,精确到毫秒DateTimeFormatter:yyyy-MM-dd HH:mm:ss.SSS -
NORM_DATETIME_COMMA_MS_FORMAT
ISO8601日期时间格式,精确到毫秒FormatBuilder:yyyy-MM-dd HH:mm:ss,SSS -
NORM_DATETIME_COMMA_MS_FORMATTER
标准日期格式DateTimeFormatter:yyyy-MM-dd HH:mm:ss,SSS -
CN_MONTH_FORMAT
标准日期格式FormatBuilder:MM月dd日 -
CN_MONTH_FORMATTER
标准日期格式DateTimeFormatter:MM月dd日 -
CN_DATE_FORMAT
标准日期格式FormatBuilder:yyyy年MM月dd日 -
CN_DATE_FORMATTER
标准日期格式DateTimeFormatter:yyyy年MM月dd日 -
CN_DATE_TIME_FORMAT
标准日期格式FormatBuilder:yyyy年MM月dd日HH时mm分ss秒 -
CN_DATE_TIME_FORMATTER
标准日期格式DateTimeFormatter:yyyy年MM月dd日HH时mm分ss秒 -
PURE_DATE_FORMAT
标准日期格式FormatBuilder:yyyyMMdd -
PURE_DATE_FORMATTER
标准日期格式DateTimeFormatter:yyyyMMdd -
PPURE_HOUR_MINUTE_FORMAT
标准日期格式FormatBuilder:HHmm -
PURE_HOUR_MINUTE_FORMATTER
标准日期格式DateTimeFormatter:HHmm -
PURE_TIME_FORMAT
标准日期格式FormatBuilder:HHmmss -
PURE_TIME_FORMATTER
标准日期格式DateTimeFormatter:HHmmss -
PURE_DATETIME_FORMAT
标准日期格式FormatBuilder:yyyyMMddHHmmss -
PURE_DATETIME_FORMATTER
标准日期格式DateTimeFormatter:yyyyMMddHHmmss -
PURE_DATETIME_MS_FORMAT
标准日期格式FormatBuilder:yyyyMMddHHmmssSSS -
PURE_DATETIME_TIP_FORMAT
格式化通配符:FormatBuilderyyyyMMddHHmmss.SSS -
PURE_DATETIME_MS_FORMATTER
标准日期格式DateTimeFormatter:yyyyMMddHHmmssSSS see https://stackoverflow.com/questions/22588051/is-java-time-failing-to-parse-fraction-of-second jdk8 bug at: https://bugs.openjdk.java.net/browse/JDK-8031085 -
HTTP_DATETIME_FORMAT_GMT
HTTP头中日期时间格式FormatBuilder:EEE, dd MMM yyyy HH:mm:ss GMT -
HTTP_DATETIME_FORMAT
HTTP头中日期时间格式FormatBuilder:EEE, dd MMM yyyy HH:mm:ss z -
JDK_DATETIME_FORMAT
JDK中日期时间格式FormatBuilder:EEE MMM dd HH:mm:ss zzz yyyy -
ISO8601_FORMAT
ISO8601日期时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss -
ISO8601_MS_FORMAT
UTC时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss.SSS -
UTC_FORMAT
ISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss'Z' -
ISO8601_WITH_ZONE_OFFSET_FORMAT
ISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ssZ,Z表示一个时间偏移,如+0800 -
ISO8601_WITH_XXX_OFFSET_FORMAT
ISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ssXXX -
UTC_MS_FORMAT
ISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss.SSS'Z' -
ISO8601_MS_WITH_ZONE_OFFSET_FORMAT
ISO8601时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss.SSSZ -
ISO8601_MS_WITH_XXX_OFFSET_FORMAT
UTC时间FormatBuilder:yyyy-MM-dd'T'HH:mm:ss.SSSXXX -
MAX_HMS
只有时分秒的最大时间
-
-
Constructor Details
-
Formatter
public Formatter()
-
-
Method Details
-
format
将指定的日期转换成Unix时间戳- Parameters:
text- 需要转换的日期 yyyy-MM-dd HH:mm:ss- Returns:
- long 时间戳
-
format
将Unix时间戳转换成日期- Parameters:
timestamp- 时间戳- Returns:
- String 日期字符串
-
format
将Unix时间戳转换成日期- Parameters:
timestamp- 时间戳format- 格式- Returns:
- String 日期字符串
-
format
将指定的日期转换成Unix时间戳- Parameters:
text- 需要转换的日期format- 格式- Returns:
- long 时间戳
-
format
格式化日期时间 格式 yyyy-MM-dd HH:mm:ss- Parameters:
localDateTime- 被格式化的日期- Returns:
- 格式化后的字符串
-
format
根据特定格式格式化日期- Parameters:
localDateTime- 被格式化的日期format- 日期格式,常用格式见:Fields- Returns:
- 格式化后的字符串
-
format
格式化日期时间为指定格式 如果为Month,调用Enum.toString()- Parameters:
time-TemporalAccessorformatter- 日期格式化器,预定义的格式见:DateTimeFormatter- Returns:
- 格式化后的字符串
-
format
格式化日期时间为指定格式 如果为Month,调用Enum.toString()- Parameters:
time-TemporalAccessorformat- 日期格式- Returns:
- 格式化后的字符串
-
format
按照给定的通配模式,格式化成相应的时间字符串- Parameters:
text- 原始时间字符串srcPattern- 原始时间通配符destPattern- 格式化成的时间通配符- Returns:
- 格式化成功返回成功后的字符串, 失败返回""
-
format
格式化日期时间为yyyy-MM-dd HH:mm:ss格式- Parameters:
time-LocalDateTime- Returns:
- 格式化后的字符串
-
format
格式化日期时间为yyyy-MM-dd格式- Parameters:
date-LocalDate- Returns:
- 格式化后的字符串
-
format
格式化时间函数- Parameters:
dateTimeFormatter-DateTimeFormatter- Returns:
- 格式化时间的函数
-
newSimpleFormat
创建SimpleDateFormat,注意此对象非线程安全! 此对象默认为严格格式模式,即parse时如果格式不正确会报错。- Parameters:
pattern- 表达式- Returns:
SimpleDateFormat
-
newSimpleFormat
创建SimpleDateFormat,注意此对象非线程安全! 此对象默认为严格格式模式,即parse时如果格式不正确会报错。- Parameters:
pattern- 表达式locale-Locale,null表示默认timeZone-TimeZone,null表示默认- Returns:
SimpleDateFormat
-