我想將字串中的日期轉換為字串“10h 57m 20s October 13 2020”的日期物件。怎么辦?可以先替換 h、m 和 s 以獲得格式“10:57:20 October 13 2020”?同樣,我嘗試了最后一種格式“2020 年 10 月 13 日 10:57:20”來獲取 DateTimeFormat 和 DateTimeFormatterBuilder() 的日期,但它不適用于月份或它有效但小時轉換為 00:00:00。
謝謝
uj5u.com熱心網友回復:
時間
我建議您使用 java.time,現代 Java 日期和時間 API 來處理您的日期和時間作業。就像 Joop Eggen 已經寫過的那樣,將屬于您的格式的字母放在格式模式字串中的單引號中:
private static final DateTimeFormatter FORMATTER
= DateTimeFormatter.ofPattern("H'h' m'm' s's' MMMM d y", Locale.ENGLISH);
這將允許您像這樣決議:
String dateInString = "10h 57m 20s October 13 2020";
LocalDateTime dateTime = LocalDateTime.parse(dateInString, FORMATTER);
System.out.println(dateTime);
輸出:
2020-10-13T10:57:20
你不應該對老式的Date課程感興趣。但是,有時我們需要將 a 傳遞Date給尚未升級到 java.time 的遺留 API。轉換要求我們知道為決議的日期和時間假定的時區。例如:
ZoneId zone = ZoneId.of("America/Tegucigalpa");
Instant i = dateTime.atZone(zone).toInstant();
Date oldfashionedDate = Date.from(i);
System.out.println(oldfashionedDate);
示例輸出:
2020 年 10 月 13 日星期二 10:57:20 CST
教程鏈接
Oracle 教程:解釋如何使用 java.time 的日期時間。
uj5u.com熱心網友回復:
您可以在撇號中放置固定的字母。
"HH'h' mm'm' ss's' MMMM dd yyyy"
此外hh,還有 12 小時制與aAM/PM相結合。
HH是 24 小時制。
此外,語言環境必須正確,可以明確設定。這里是英文。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/327954.html
