Javaでタイムゾーンオフセットを取得する方法


  1. TimeZoneクラスを使用する方法: JavaのTimeZoneクラスは、タイムゾーンに関する情報を提供します。以下のコード例では、日本のタイムゾーンのオフセットを取得しています。

    TimeZone japanTimeZone = TimeZone.getTimeZone("Asia/Tokyo");
    int offset = japanTimeZone.getRawOffset();
    System.out.println("タイムゾーンオフセット: " + offset);

    上記のコードでは、"Asia/Tokyo"を使用して日本のタイムゾーンを取得し、getRawOffset()メソッドを呼び出してオフセットを取得しています。

  2. OffsetDateTimeクラスを使用する方法: Java 8以降では、OffsetDateTimeクラスを使用してタイムゾーンオフセットを取得することもできます。以下のコード例では、現在の日時とタイムゾーンオフセットを取得しています。

    OffsetDateTime now = OffsetDateTime.now();
    ZoneOffset offset = now.getOffset();
    System.out.println("タイムゾーンオフセット: " + offset.getTotalSeconds() / 3600);

    上記のコードでは、OffsetDateTime.now()を使用して現在の日時を取得し、getOffset()メソッドを呼び出してオフセットを取得しています。getTotalSeconds()メソッドを使用して、オフセットを時間単位で取得しています。