Java で現在の年を取得する

Siddharth Swami 2023年10月12日
  1. Java で java.Util.Date クラスを使用して現在の年を取得する
  2. Java で LocalDate クラスを使用して現在の年を取得する
  3. Java で java.util.Calendar クラスを使用して現在の年を取得する
  4. Java で Joda Time パッケージを使用して現在の年を取得する
  5. Java で java.time.YearMonth クラスを使用して現在の年の整数値を取得する
Java で現在の年を取得する

このチュートリアルでは、Java で今年を取得する方法についてさまざまな方法について説明します。

Java で java.Util.Date クラスを使用して現在の年を取得する

java.util.Date クラスにある getYear() メソッドを使用して、古いバージョンの JDK で現在の年を取得できます。これは、Calendar.get(Calendar.YEAR) メソッドに置き換えられました。

このメソッドは、現在の日付オブジェクトから 1900 を引くことによって値を返すために使用されます。

次のコードを参照してください。

import java.util.Date;

public class Java_Date_GetYear {
  public static void main(String[] args) {
    Date dt = new Date();
    int year = dt.getYear();
    System.out.println("Year for date object is : " + year);
    int current_Year = year + 1900;
    System.out.println("Current year is : " + current_Year);
  }
}

出力:

Year for date object is : 121
Current year is : 2021

上記の出力でわかるように、date オブジェクトは 121 として取得されますが、現在の年を取得する必要があります。最終結果、つまり 2021 を取得するには、日付オブジェクトに 1900 を再度追加する必要があります。

Java で LocalDate クラスを使用して現在の年を取得する

このクラスの概念は、getyear()getMonth() など、このクラスで提供されるメソッドを使用して、ユーザーの必要に応じて現在の年または月を取得することです。

例えば、

import java.time.LocalDate;

class Current_Year {
  public static void main(String args[]) {
    // Getting the current date value of the system
    LocalDate current_date = LocalDate.now();
    System.out.println("Current date: " + current_date);

    // getting the current year from the current_date
    int current_Year = current_date.getYear();
    System.out.println("Current year: " + current_Year);
  }
}

出力:

Current date: 2021-06-06
Current year: 2021

上記のコードでは、コードが実行されているシステムの現在の日付、時刻、および年を取得し、出力ウィンドウに現在の年を返します。このために、LocalDate() クラスの now() メソッドが使用されます。

Java で java.util.Calendar クラスを使用して現在の年を取得する

もう 1つのアプローチは、Java で Calendar クラスを使用することです。これは、月、年、時間などの日付とカレンダーフィールドの変換に役立つ抽象 Java クラスです。

Calendar クラスは抽象クラスであるため、getInstance() メソッドはサブクラスを開始する静的メソッドです。コンストラクターメソッドを使用してインスタンスを作成することはできません。get(Calendar.Year) メソッドは、システムで現在の年を提供できます。

例えば、

import java.util.Calendar;
public class Get_Current_Year {
  public static void main(String args[]) {
    Calendar cal = Calendar.getInstance();
    System.out.println("The Current Year is:" + cal.get(Calendar.YEAR));
  }
}

出力:

The Current Year is:2021

Calendar クラスを使用して、特定の日付の現在の年を出力できます。このためには、GregorianCalendar() として知られる Calendar の別のサブクラスを使用する必要があります。

例えば、

import java.util.*;

class Get_Current_Year2 {
  public static void main(String args[]) {
    // Creating a calendar object
    Calendar c = new GregorianCalendar(2020, 02, 11);

    // Getting the value of the year from calendar object
    int year = c.get(Calendar.YEAR);

    // Printing the year
    System.out.println("Year: " + year);
  }
}

出力:

Year: 2020

Java で Joda Time パッケージを使用して現在の年を取得する

アプリケーションで日付オブジェクトとカレンダーオブジェクトを頻繁に使用する場合は、Joda Time パッケージを使用する必要があります。java.util.Date クラスは変更可能であり、java.util.calendar クラスには、フィールドを更新するときのパフォーマンスに関連するいくつかの問題があります。

Joda Time には、Java のパッケージのクラスよりも効果的なメソッドがあります。

次のコードを参照してください。

import org.joda.time.DateTime;
import org.joda.time.LocalDateTime;
public class Joda_Time {
  public static void main(String[] args) {
    DateTime now = new DateTime();
    System.out.println("Current Year: " + now.year().getAsText());
  }
}

出力:

Current Year : 2021

上記のコードでわかるように、システムの現在の日付を取得するために使用される DateTime() のオブジェクトを作成しました。Joda-Time を使用するには、IDE にプリインストールされていないため、ダウンロードする必要があります。

Java で java.time.YearMonth クラスを使用して現在の年の整数値を取得する

java.time.YearMonth クラスを使用して、システムの現在の年を出力するための getYear() メソッドを提供することもできます。

以下のコードは、このメソッドの使用法を示しています。

import java.time.YearMonth;
public class Current_Year {
  public static void main(String[] args) {
    int year = YearMonth.now().getYear();

    System.out.println("Current year: " + year);
  }
}

出力:

Current year: 2021

関連記事 - Java DateTime