HOWTO · Java

Java 曜日を取得

このチュートリアルでは、Java で曜日を取得する方法を示します。

このページの内容

このチュートリアルでは、Java で曜日を取得する方法を示します。

Java 曜日を取得

UI の操作中に、曜日を取得する必要がある場合があります。 これは、次の 2つの方法を使用して Java で実現できます。

  1. Java 7 から、SUNDAY (1) から SATURDAY (7) までの定数を定義する従来の Calendar クラスを使用できます。 カレンダーのインスタンスで calendar.get(Calendar.DAY_OF_WEEK) メソッドを使用して日を取得できます。
  2. Java 8 から、従来の API Date を使用して、月曜日 (1) から日曜日 (7) までの曜日を取得できます。 メソッド LocalDate.getDayOfWeek() を使用して、曜日を取得できます。

Java 7 Calendar クラスを使用して曜日を取得する

Java 7 Calendar クラスは、曜日を取得するために使用されます。 そのためには、java.util.Date と java.util.Calendar を使用する必要があります。

以下の手順に従います。

  • Calendar クラスのインスタンスを作成します。
  • 現在の日付を設定する setTime(new Date()) メソッドを使用して、カレンダーに日付を設定します。
  • ここで、カレンダー インスタンスで get(Calendar.DAY_OF_WEEK) を使用して、曜日の番号を取得します。
  • SimpleDateFormat() クラスを使用して、その日の名前を取得する必要があります。

上記の例を Java で実装してみましょう。

package delftstack;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Example {
  public static void main(String[] args) {
    Calendar Demo_Calendar = Calendar.getInstance();
    Demo_Calendar.setTime(new Date());

    int Day_Number = Demo_Calendar.get(Calendar.DAY_OF_WEEK);

    DateFormat Date_Formatter = new SimpleDateFormat("EEEE");
    String Day_Name = Date_Formatter.format(Demo_Calendar.getTime());

    System.out.println("The current day of the Week in number is :: " + Day_Number);
    System.out.println("The current day of the Week in Text is :: " + Day_Name);
  }
}

上記のコードは、現在の日付の曜日を数字とテキストで表示します。 出力を参照してください:

The current day of the Week in number is :: 5
The current day of the Week in Text is :: Thursday

Java 8 Date API を使用して曜日を取得する

Java 8 API を使用して曜日を取得するには、Java の Time パッケージの LocalDate クラスと DayofWeek 列挙型を使用する必要があります。 Java 8 を使用して曜日を取得するには、次の手順に従います。

  • メソッド now() で LocalDate のインスタンスを作成します。これが現在の日付になります。
  • LocalDate のインスタンスで DayofWeek 列挙型と getDayOfWeek() メソッドを使用して、現在の曜日を取得します。
  • DayofWeek で getValue() メソッドを使用して、日数を取得します。
  • DayofWeek で getDisplayName() メソッドを使用して、その日の名前を完全な形式と短い形式で表示します。

上記の例を Java で実装してみましょう。

package delftstack;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.TextStyle;
import java.util.Locale;

public class Example {
  public static void main(String[] args) {
    LocalDate Current_Date = LocalDate.now();

    DayOfWeek Week_Day = Current_Date.getDayOfWeek();

    System.out.println("The current day of the Week is :: " + Week_Day);
    System.out.println("The current day of the Week in Number is :: " + Week_Day.getValue());
    System.out.println("The current day of the Week in full format is :: "
        + Week_Day.getDisplayName(TextStyle.FULL, Locale.getDefault()));
    System.out.println("The current day of the Week in short format is :: "
        + Week_Day.getDisplayName(TextStyle.SHORT, Locale.getDefault()));
  }
}

上記のコードは、現在の日付の日を取得し、数値、完全、および短い形式に変換します。 出力を参照してください:

The current day of the Week is :: THURSDAY
The current day of the Week in Number is :: 4
The current day of the Week in full format is :: Thursday
The current day of the Week in short format is :: Thu