Java を使用した 2 つの日付間の日数の計算
2 つの日付の差を求めることは、一般的なプログラミング タスクです。 Java には、うるう年やサマータイムの処理など、このプロセスを簡略化するためのクラスとメソッドがいくつか用意されています。
Java 8 Time API を使用した日数の計算
Java 8 では、新しい Java が導入されました。 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(); }
暦日の計算
上記のアプローチでは、暦日ではなく、一般的な 24 時間の単位として日数をカウントします。暦日については、java.time.temporal.ChronoUnit.DAYS とその between() メソッドを使用します。
long daysBetween = ChronoUnit.DAYS.between(date1, date2);
うるう年とサマータイムの処理
両方の Java元の回答で提供されている 8 時間 API と SimpleDateFormat クラスは、うるう年とサマータイムを自動的に処理します
文字列を日付に変換する
文字列を日付に変換したり、その逆に変換したりすることは避けてください。 SimpleDateFormat は強力なツールですが、各日付を不必要に 2 回解析して書式設定します。 LocalDateTime.parse() メソッドを直接使用する方が効率的です。
以上がJava は 2 つの日付の間の日数を効率的に計算するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。