私のアプリケーションの機能でSimpleDateFormat userDateFormat = new SimpleDateFormat("yyyy-MM-dd 00:00:00")
を使用します。はタイムゾーンを設定していません。Java SimpleDateFormatを別のTimeZoneに変更
そして、作成したすべての時間userDateFormat、私はuserDateFormatのタイムゾーン情報を取得するために
System.out.println("userDateFormat timezone: " + ((SimpleDateFormat)userDateFormat).getTimeZone().toString());
を使用しています。タイムゾーンはこの単一のサーバーでは、ここで変更された理由
私はuserDateFormat timezone: sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
userDateFormat timezone: sun.util.calendar.ZoneInfo[id="Europe/Copenhagen",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=133,lastRule=java.util.SimpleTimeZone[id=Europe/Copenhagen,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]
は不思議:機能の異なるコール(サーバーなしシャットダウン)を実行しているアプリケーションの間に
は、我々は、異なるタイムゾーン情報を取得します。また、setTimeZoneが 'GMT'(すべてのプロジェクトで一度だけ設定されています)のSimpleDateFormatオブジェクトを持っていますが、その結果からタイムゾーン 'CET(UTC + 1)'が使用されているようです。 jdkタイムゾーンの混乱の原因となるサーバー設定はありますか?
ありがとうございました。
アプリケーションのタイムゾーンは、TimeZone#setDefaultを使用して変更できます。タイムゾーンを明示的に各SimpleDateFormatに設定してから、値を印刷することをお勧めします。 – bsiamionau