我目前正在從遺留 API 遷移到微服務。舊版 API 通過使用字串來比較日期是否相等。
例子
String date1FromDataSource1 = "20221110";
String date2FromDataSource2 = "2022-11-10:00:00.000";
String data2FromDataSource2Formatted = formatDateAsPerDataSource1(date1FromDataSource2);
Boolean areDatesEqual = data1FromDataSource1.equals(data2FromDataSource2Formatted);
我應該繼續以這種方式追求還是將它們都轉換為 ZoneDateTime 并進行日期比較。
uj5u.com熱心網友回復:
實施無關緊要。
只有系統測驗很重要。
遺留系統應該有足夠的系統測驗,如果它們通過,服務就可以部署到生產環境中。如果還不夠,就寫更多,直到那是真的。
系統測驗獨立于實作并且完全可移植。選擇你能想到的最簡單的實作。如果您的新系統通過了系統測驗,那么您的實施就很好。
單元測驗依賴于實作,也應該撰寫。質量得到保證,單元和系統測驗通過,您可以很好地部署。
至于實作的建議,由于您正在處理字串,您可以將它們作為字串進行比較。
這是一個入門實作:
public boolean areSame(String date1, String date2) {
return yyyymmdd(date1).equals(yyyymmdd(date2));
}
/* @return the first 8 digits found in str */
private String yyyymmdd(String str) {
return str.replaceAll("\\D", "").substring(0, 8);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/529013.html
標籤:爪哇日期
上一篇:如何在excel中自定義日期
