残念ですが、これは再投稿です。私は適切な答えを見つけられませんでした。JavaおよびWindows地域の設定
廃止予定のapisのベストプラクティスと使用方法は無視してください。
私は次のように日付 "月5月19日2時16分52秒EDT 2003" をフォーマットしたい "MM/DD/YYYY HH:mm:ssの"。ここでも出力フォーマットを変更したいだけですが、これはESTのラップトップから実行されています。
マイWindowsの地域設定は以下のとおりです。
現在のタイムゾーン:東部夏時間
タイムゾーン:(GMT-05:00)東部標準時(米国&カナダ)
夏時間の変更のクロックを自動的に調整します。Ch
をeckedこのJavaコードは、それをしない:
Date aDate = new Date("Mon May 19 02:16:52 EDT 2003");
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
System.out.println("Formatted Date: " + sdf.format(aDate));
出力は
Formatted Date: 05/19/2003 02:16:52
今、私は次のように設定画面(のみDST設定のチェックを外す)
を変更で現在のタイムゾーン:東部夏時間
タイムゾーン:(GMT-05:00)東部標準時(米国&カナダ)
が自動的に夏時間の調整をする:チェック
出力は次のようになります。
Formatted Date: 05/19/2003 01:16:52
質問:
- なぜ1時間単位で出力がオフになっていますか?
- javaはフォーマット時にWindows DST設定を使用しますか?私はjavaがさまざまなタイムゾーンのDST設定時間のための独自のデータを保持しています。
はい、 JavaはOS settinを使用しますそれはWindowsでも別のOSでも構いません – GETah
なぜJavaは自分の出力を変更しますか?私は使用する日付と出力する形式をjavaに伝えています。興味深いもの: – user1318311