回答編集履歴
1
Dateにはタイムゾーンが直接影響はしないので修正
answer
CHANGED
@@ -1,11 +1,9 @@
|
|
1
|
-
|
1
|
+
開発環境は日本時間GMT+9がタイムゾーンとなっていて、本番環境はGMT+0、つまり世界標準時なのでしょう。だから9時間前の時刻に見える、というわけです。直したいのであればコードでTimeZoneクラスのデフォルトタイムゾーンを日本時間にしてしまうのが早いでしょう。
|
2
2
|
|
3
3
|
```Java
|
4
|
-
public static void main(String[] args) {
|
5
|
-
|
4
|
+
TimeZone.setDefault(TimeZone.getTimeZone("GMT+9"));
|
6
|
-
Date dat = new Date();
|
7
|
-
Calendar cal=Calendar.getInstance();
|
8
|
-
cal.setTime(dat);
|
9
|
-
System.out.println(cal.getTime());
|
10
|
-
}
|
11
|
-
```
|
5
|
+
```
|
6
|
+
|
7
|
+
`Date`型の数値自体はタイムゾーンの影響を受けませんが、`Date#toString`による出力はタイムゾーンの影響を受けるので注意が必要です。タイムゾーンの影響後の時刻等を取得するには`Calendar#get`等を使用する必要があります。
|
8
|
+
|
9
|
+
※指摘によりDate型へタイムゾーンの影響のくだりを削除
|