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形式でオフセットをフォーマットする方法を教えてください 。