こんにちは、以下のコードで、出力を9と10として取得しています。なぜそれが起こっているのですか?カレンダーのタイムゾーンは異なりますが、同じ日付を渡して時刻を設定しています。私の知る限り、時間はエポックから相対値として計算されるため、この相対値はタイムゾーンに関係なく同じである必要があります。
あるタイムゾーンのDBと別のタイムゾーンのサーバーで同様の問題に直面しています。
Date date = new Date ();
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("America/Los_Angeles"),Locale.US);
Calendar c1 = Calendar.getInstance();
c.setTime(date);
c1.setTime(date);
System.out.println(c.get(Calendar.HOUR));
System.out.println(c1.get(Calendar.HOUR));