新的時間API的時間格式化由java.time.format.DateTimeFormatter
負責。
結合枚舉FormatStyle
定義的風格,DateTimeFormatter
預先定義了基於本機(Locale
)風格的時間格式。
我們來看這段程式碼:
String format = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).format(ZonedDateTime.now());
如果你在中國,格式化結果:
# 2022年1月6日下午4:22:01
如果你在美國:
Jan 6, 2022, 4:21: 10 PM
有三個靜態方法及其重載來格式化本地化時間,具體已經整理成了心智圖:
##ISO/RFC規範格式
DateTimeFormatter也內建了
ISO和RFC的時間格式,基於內建的
DateTimeFormatter靜態實例。
// 静态实例 DateTimeFormatter isoWeekDateFormatter = DateTimeFormatter.ISO_WEEK_DATE; // 执行格式化 String format = isoWeekDateFormatter.format(LocalDateTime.now()); // format = 2022-W01-4 System.out.println("format = " + format);
範式格式化
這種方式應該是我們最常用的方式了。透過字母和符號來建構一個範式(Patterns
),使用ofPattern(String)或ofPattern(String, Locale)
方法傳遞建構的範式。例如,
將把2011-12-03格式化為
2011年12月3日。從一個模式中建立的格式可以根據需要多次使用,它是不可改變的,並且是線程安全的。 相信什麼yyyy-MM-dd HH:mm:ss
你都玩膩了,給大家看點你沒看過的: format = 西元2022年1月7日08:00 Asia/Shanghai 以上是Java的API時間格式化怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章! // 最后面是两个V 不是W 单个V会报错
String pattern = "G uuuu'年'MMMd'日' ZZZZZ VV";
String format= DateTimeFormatter.ofPattern(pattern).format(ZonedDateTime.now());
// format = 2022-W01-4
System.out.println("format = " + format);