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,注意此对象非线程安全!static SimpleDateFormatnewSimpleFormat(String pattern, Locale locale, TimeZone timeZone) 创建SimpleDateFormat,注意此对象非线程安全!static SimpleDateFormatnewSimpleFormat(String pattern, Locale locale, TimeZone timeZone, boolean lenient) 创建SimpleDateFormat,注意此对象非线程安全!
-
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
-
newSimpleFormat
public static SimpleDateFormat newSimpleFormat(String pattern, Locale locale, TimeZone timeZone, boolean lenient) 创建SimpleDateFormat,注意此对象非线程安全! 此对象默认为严格格式模式,即parse时如果格式不正确会报错。- Parameters:
pattern- 表达式locale-Locale,null表示默认timeZone-TimeZone,null表示默认lenient- 是否宽松模式- Returns:
SimpleDateFormat
-