JavaでISO週番号を取得する方法


JavaでISO週番号を取得する方法について説明します。ISO週番号は、年の週を表す番号であり、週の始まりを月曜日とし、週の始まりが前の年にまたがっている場合には、その週は前の年の最後の週となります。

Javaでは、java.timeパッケージを使用して日付と時間を扱うことができます。ISO週番号を取得するには、LocalDateクラスを使用する方法があります。以下に、いくつかのコード例を示します。

例1: 現在の日付のISO週番号を取得する

import java.time.LocalDate;
import java.time.temporal.WeekFields;
import java.util.Locale;
public class Main {
    public static void main(String[] args) {
        LocalDate currentDate = LocalDate.now();
        WeekFields weekFields = WeekFields.of(Locale.getDefault());
        int isoWeekNumber = currentDate.get(weekFields.weekOfWeekBasedYear());
        System.out.println("Current ISO Week Number: " + isoWeekNumber);
    }
}

この例では、LocalDate.now()メソッドを使用して現在の日付を取得し、WeekFieldsクラスを使用して週の始まりを月曜日に設定しています。getメソッドを使用して、週番号を取得し、結果を出力しています。

例2: 特定の日付のISO週番号を取得する

import java.time.LocalDate;
import java.time.temporal.WeekFields;
import java.util.Locale;
public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2024, 1, 29);
        WeekFields weekFields = WeekFields.of(Locale.getDefault());
        int isoWeekNumber = date.get(weekFields.weekOfWeekBasedYear());
        System.out.println("ISO Week Number: " + isoWeekNumber);
    }
}

この例では、LocalDate.ofメソッドを使用して特定の日付を指定しています。それ以外の部分は例1と同じです。

これらのコード例を使用することで、JavaでISO週番号を取得することができます。必要に応じて、他の日付操作やフォーマット処理を追加することもできます。