我想使用 SimpleDateFormat 以下列格式寫入今天的日期:
今天,13:14
在其他日子里,我想將其列印為日期和時間:
06.12.2021, 12:59
我可以用前幾天的日期和時間格式書寫,但不能在白天用“今天 [HOUR]”格式書寫。
textViewDate.setText(new SimpleDateFormat("dd.MM.yyyy HH:mm")
請指導。謝謝你。
uj5u.com熱心網友回復:
時間
這需要兩個格式化程式和一個if陳述句。
考慮使用 java.time,現代 Java 日期和時間 API,用于您的日期和時間作業。讓我們首先宣告兩個格式化程式。
private static final DateTimeFormatter TODAY_FORMATTER
= DateTimeFormatter.ofPattern("'Today,' HH:mm", Locale.ENGLISH);
private static final DateTimeFormatter ANOTHER_DAY_FORMATTER
= DateTimeFormatter.ofPattern("dd.MM.yyyy, HH:mm", Locale.ENGLISH);
要在不同的日期和時間嘗試它們:
LocalDateTime[] dateTimes = {
LocalDateTime.of(2021, Month.DECEMBER, 7, 23, 45),
LocalDateTime.of(2021, Month.DECEMBER, 8, 12, 34),
LocalDateTime.of(2021, Month.DECEMBER, 9, 04, 23)
};
LocalDate today = LocalDate.now(ZoneId.systemDefault());
for (LocalDateTime ldt : dateTimes) {
String formattedDateTime;
if (ldt.toLocalDate().isEqual(today)) {
formattedDateTime = ldt.format(TODAY_FORMATTER);
}
else {
formattedDateTime = ldt.format(ANOTHER_DAY_FORMATTER);
}
System.out.println(formattedDateTime);
}
當我今天跑步時(我所在時區的 12 月 8 日),我得到了:
07.12.2021, 23:45 Today, 12:34 09.12.2021, 04:23
如果你堅持老式,我相信同樣的技巧也適用于SimpleDateFormat. 當然,您將有一項重要的任務來確定日期是否是今天。
uj5u.com熱心網友回復:
我不知道預先存在的日期格式可以滿足您的需求。所以你必須自己做有條件的情況。
如果日期在“今天”范圍內(但是您想定義它,關于時區等),使用“今天”格式生成文本。如果在外面,請使用通用格式。
uj5u.com熱心網友回復:
如果您使用的是 java 8,您可以使用 Date/Time API (LocalDate) 來計算兩個日期之間的差異并檢查其是否相同,根據比較選擇您的格式Java Date Format
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/383595.html
上一篇:R中的累積訪問時間序列圖
