儘管有人聲稱不可能解析所有任意日期,但Python-dateutil 庫已經展示了其處理各種日期的能力輕鬆處理日期格式。然而,事實證明,找到具有類似功能的 Java 等效項是一項挑戰。
Joda Time 通常被譽為日期解析的絕佳選擇,但它無法滿足手動指定日期格式的要求。這種限制使得它對於尋求輕鬆解析的用戶來說不太有吸引力。
正規表示式與暴力破解
為了解決這個問題,專家建議轉向正規表示式和暴力破解技術。透過使用正規表示式來匹配日期格式模式並測試各種潛在格式,可以實現類似於 Python-dateutil 的穩健性。
一個愚蠢但有效的自訂 DateUtil
一位開發人員以自訂 DateUtil 類別的形式分享了一個異想天開但實用的解決方案。此類使用連結到對應正規表示式的常見日期格式模式的字典。當提供日期字串時,它會迭代模式,根據正規表示式比較確定匹配。
如果找到符合模式,該類別將傳回對應的日期格式,然後可以使用該格式來解析日期字串。這種巧妙的方法允許使用者確定正確的格式並解析日期,而無需手動指定格式。
可擴充性和自訂
提供的 DateUtil 實作可以輕鬆擴充透過為各種日期格式新增新的正規表示式模式。這允許用戶根據自己的特定要求自訂該類別。
雖然它可能不如 Python-dateutil 那麼全面,但這個自訂 DateUtil 提供了一個實用的解決方案,可以高精度地解析不同格式的日期。
以上是Java中如何實作像Python的dateutil那樣靈活的日期解析?的詳細內容。更多資訊請關注PHP中文網其他相關文章!