使用 Java 計算兩個日期之間的天數
確定兩個日期之間的差異是一項常見的程式設計任務。 Java 提供了多個類別和方法來簡化此過程,包括處理閏年和夏令時。
使用 Java 8 時間 API 計算天數
Java 8 引進了新的 java.util.Times 。 time 包,它提供了更現代、更易於使用的 API 來處理日期和時間。若要使用 Java 8 計算日期之間的天數,請依照下列步驟操作:
範例:
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MM yyyy"); String inputString1 = "23 01 1997"; String inputString2 = "27 04 1997"; try { LocalDateTime date1 = LocalDate.parse(inputString1, dtf); LocalDateTime date2 = LocalDate.parse(inputString2, dtf); long daysBetween = Duration.between(date1, date2).toDays(); System.out.println("Days: " + daysBetween); } catch (ParseException e) { e.printStackTrace(); }
例如:
long daysBetween = ChronoUnit.DAYS.between(date1, date2);
請注意上述方法將天數視為通用24 小時區塊,而不是日曆日。對於日曆日,請使用 java.time.temporal.ChronoUnit.DAYS 及其 Between() 方法。 處理閏年和夏令時兩者都是 Java 8 時間 API 和原始答案中提供的 SimpleDateFormat 類自動處理時調整年和夏令時調整。 將字串轉換為日期避免不必要的字串與日期之間的轉換。 SimpleDateFormat 是一個功能強大的工具,但它不必要地對每個日期進行兩次解析和格式化。直接使用 LocalDateTime.parse() 方法更有效率。
以上是Java如何有效率地計算兩個日期之間的天數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!