2つの日時より日数を取得したい
ので簡単なやつを調査
年月日、時分秒の差を取得するサンプル
Sample02.java
package sample02; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; public class Sample02 { static final String FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; public static void main(String[] args) { // 2つのLocalDateTime LocalDateTime dt1; LocalDateTime dt2; dt1 = parse("2017-12-10 09:10:30.432"); dt2 = parse("2022-03-16 12:45:12.102"); System.out.println("期間:" + dt1 + "〜" + dt2); System.out.println(); // 日数計算 long localDiffDays1 = ChronoUnit.DAYS.between(dt1, dt2); System.out.println("日数:" + localDiffDays1); // 月数計算 long localDiffDays2 = ChronoUnit.MONTHS.between(dt1, dt2); System.out.println("月数:" + localDiffDays2); // 年数計算 long localDiffDays3 = ChronoUnit.YEARS.between(dt1, dt2); System.out.println("年数:" + localDiffDays3); // 秒計算 long localDiffDays4 = ChronoUnit.SECONDS.between(dt1, dt2); System.out.println("秒 :" + localDiffDays4); // 分計算 long localDiffDays5 = ChronoUnit.MINUTES.between(dt1, dt2); System.out.println("分 :" + localDiffDays5); // 時間計算 long localDiffDays6 = ChronoUnit.HOURS.between(dt1, dt2); System.out.println("時 :" + localDiffDays6); } public static LocalDateTime parse(String date) { return LocalDateTime.parse(date, DateTimeFormatter.ofPattern(FORMAT)); } }
↓
期間:2017-12-10T09:10:30.432〜2022-03-16T12:45:12.102 日数:1557 月数:51 年数:4 秒 :134537681 分 :2242294 時 :37371
ChronoUnit
こいつでそれぞれのデータ型に合わせてLocalDateTimeのデータを設定することで2つの日時の差を取得できるようです。
結構シンプル(^^)