我正在嘗試將有關日期和時間的資料保存到串列中。比方說,我有List<Date>. 我有 2 種型別的字串格式:dd/mm/yy和hh:mm. 好吧,我可以輕松地格式化和創建java.util.Dateusing的實體SimpleDateFormat。但是,當我嘗試列印物件時,我將時間資料保存到其中的物件會列印如下內容:
1970 年 1 月 1 日星期四 06:30:00 AZT
如何區分這兩者并獲得以下輸出:
06:30
注意:年份可能早于 1970 年。
感謝您的幫助并感謝您的努力。
uj5u.com熱心網友回復:
如何知道 Date 物件是否僅代表 Java 中的時間?
沒有辦法可靠地做到這一點。Date您用來表示時間的每個值也表示有效日期。而且您無法區分這兩種情況……除非使用不可靠的啟發式方法。
真正的問題是您不應該使用Date來表示時間。
- A
Date表示時間連續體中的單個點。 - 時間是一個持續時間或多個時間點,具體取決于您如何使用它。(這取決于您的用例。)
事實上,您可能根本沒有使用java.util.Date。 Date是具有許多 API 缺陷的遺留 Java 類。它在 Java 8 中被java.time包中的類和介面取代。這些為各種不同的概念提供了不同的類。
我建議您閱讀Oracle Java 教程中的Date-Time trail 以獲得基本的了解。這將幫助您決定為您的用例選擇正確的類。
現實世界中的時間很復雜,Java 中也很復雜。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/407497.html
標籤:
