Java を使った日付期間の計算

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Javaのuntil()メソッドは、期間オブジェクトとして2つの日付の間の期間を取得するために使用されます。これは、年、月、日の観点から2つの日付の間の期間を計算します。この実験では、until()メソッドを使用して、期間オブジェクトとして2つの日付の間の期間を取得する方法を学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/variables("Variables") java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/FileandIOManagementGroup -.-> java/io("IO") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/variables -.-> lab-117854{{"Java を使った日付期間の計算"}} java/output -.-> lab-117854{{"Java を使った日付期間の計算"}} java/classes_objects -.-> lab-117854{{"Java を使った日付期間の計算"}} java/date -.-> lab-117854{{"Java を使った日付期間の計算"}} java/io -.-> lab-117854{{"Java を使った日付期間の計算"}} java/working -.-> lab-117854{{"Java を使った日付期間の計算"}} java/object_methods -.-> lab-117854{{"Java を使った日付期間の計算"}} java/string_methods -.-> lab-117854{{"Java を使った日付期間の計算"}} end

必要なインポートを追加する

「DateDemo.java」ファイルに次のインポート文を追加します。

import java.time.LocalDate;
import java.time.Period;

LocalDateオブジェクトを作成する

LocalDate.of()メソッドを使用して開始日付用のLocalDateオブジェクトを作成し、startDateという名前の変数に割り当てます。日付は任意の有効な日付で構いません。

LocalDate startDate = LocalDate.of(2002, 01, 10);

2つの日付の間の期間を取得する

開始日付と終了日付の間の期間を取得するには、until()メソッドを使用します。このメソッドはChronoLocalDate型の引数をとり、これはそれを実装する任意のクラスオブジェクトです。この例では、終了日付に別のLocalDateオブジェクトを使用します。

Period period = startDate.until(LocalDate.of(2005, 10, 12));

期間を表示する

System.out.println()を使用して2つの日付の間の期間を表示します。期間はPnYnMnD形式(nは年、月、日の数を表す)で表示されます。

System.out.println("Period between start and end date: " + period);

期間の個々の値を取得する

期間の個々の値(すなわち、年数、月数、日数)を取得するには、getYears()getMonths()、およびgetDays()メソッドを使用します。

int years = period.getYears();
int months = period.getMonths();
int days = period.getDays();

System.out.println("Years: " + years);
System.out.println("Months: " + months);
System.out.println("Days: " + days);

プログラムをコンパイルして実行する

ターミナルで次のコマンドを使用してプログラムをコンパイルします。

javac DateDemo.java

次のコマンドを使用してプログラムを実行します。

java DateDemo

まとめ

until()メソッドは、年、月、日の観点から2つの日付の間の期間を計算するための強力なツールです。このメソッドを使用することで、2つの日付の間の期間を簡単に取得し、その期間に基づいた計算を行うことができます。この実験では、2つの日付の間の期間を期間オブジェクトとして取得するためのuntil()メソッドの使い方と、期間の個々の値を取得する方法を学びました。