2
TimeZone timeZone = TimeZone.getTimeZone("Asia/Calcutta");

    int offset1 = timeZone.getRawOffset();
    System.out.println("offset = "+ offset);

    int offsetHrs = offset / 1000 / 60 / 60;
    int offsetMins = offset / 1000 / 60 % 60;

    System.out.println("offsetHrs="+ offsetHrs);
    System.out.println("offsetMins="+ offsetMins);


    GMTOffset = offsetHrs + ":" + offsetMins;
    System.out.println("GMTOffset = " + utzOffset);

出力は

オフセット = 19800000

オフセット時間 = 5

オフセット分 = 30

GMT オフセット = 5:30

私はms sqlサーバーでこのオフセット値を使用してタイムゾーンを変換しています。SQLサーバーは以下の形式を取ります

(+/-)HH:MM

私の結果は 5:30 ですが、無効なタイムゾーン エラーが発生し、 +5:30 である必要があります。

別の場合

TimeZone timeZone = TimeZone.getTimeZone("Etc/GMT");

この場合、オフセットは「0」になります

しかし、ms sql は +00:00 または -00:00 しか取りません (+/- 符号が必要です)

(+/-)HH:MM形式でオフセットをフォーマットする方法を教えてください 。

4

1 に答える 1