![](/img/trans.png)
[英]How to compare the datetime of format "EEE MMM dd HH:mm:ss zzz yyyy" and "yyyy-MM-dd hh:mm:sss" in java?
[英]How to Parse Any Datetime format to yyyy-MM-dd in java
我有一個動態填充的日期字段,我需要格式yyyy-MM-dd
的字段
對於格式為1994-08-01 14:37:44
的輸入日期,這是一個例外
java.time.format.DateTimeParseException: Text '1994-08-01 14:37:44' could not be parsed, unparsed text found at index 10
這是我嘗試過的許多其他方法之一LocalDateTime.parse("1994-08-01 14:37:44",DateTimeFormatter.ofPattern(yyyy-MM-dd));
有沒有辦法將所有日期/日期時間轉換為 yyyy-MM-dd 格式?
請幫忙
謝謝
像這樣試試。 您可以提取LocalDate
部分。
LocalDate ldt = LocalDateTime.parse("1994-08-01 14:37:44",
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
印刷
1994-08-01
您有一個日期和時間組件,但您只使用日期格式將其解析為LocalDateTime
值,這將失敗,因為LocalDateTime
需要時間組件才能工作
從解析全文開始
String input = "1994-08-01 14:37:44";
LocalDateTime ldt = LocalDateTime.parse(input, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
然后使用DateTimeFormatter
以您想要的方式對其進行格式化
String formatted = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(ldt);
System.out.println(formatted);
哪個打印
1994-08-01
根據您的需要,您還可以將LocalDateTime
值轉換為LocalDate
並對其進行格式化,結果相同,但您可能需要LocalDate
來處理其他事情,誰知道...
String formatted = ldt.toLocalDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.