私は英国でコードを開発しています。英国で正常に機能する日付フィールドをフォーマットしています。米国のサーバーにコードをデプロイすると、日付の年が 1 年ずれます。これがコードです
public static void main(String args[]) {
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
String dateStr = sdf.format(1293840000000L);
System.out.println(dateStr);
}
英国では、Windows マシンでローカルにこのコードが正しく出力されます。
2011-01-01T00:00:00Z
Linuxボックス上の米国のサーバーでは、同じコードが出力されます
2010-12-31T18:00:00Z
それはある種のタイムゾーンの問題である必要がありますか?