1. ホーム
  2. java

[解決済み] Javaで現在の日付と時刻をUTCまたはGMTで取得するにはどうすればよいですか?

2022-03-18 19:37:55

質問内容

を新規に作成すると Date オブジェクトは、ローカルタイムゾーンの現在時刻に初期化されます。どうすればGMTで現在の日時を取得できますか?

解決方法は?

java.util.Date は特定のタイムゾーンを持たないが、その値はUTCとの関係で考えるのが最も一般的である。なぜローカルタイムだと思うのですか?

正確には java.util.Date は、1970年1月1日午前0時(UTC)に発生したUnixエポックからのミリ秒数です。同じエポックを他のタイムゾーンで記述することもできますが、伝統的な記述はUTCを基準としています。固定されたエポックからのミリ秒数であることから java.util.Date は、その地域のタイムゾーンに関係なく、どの瞬間でも世界中で同じです。

問題は、ローカルタイムゾーンを使用するCalendarのインスタンスを介して表示しているか、または、おそらくは Date.toString() は、同じくローカルのタイムゾーンを使うか、あるいは SimpleDateFormat インスタンスを作成し、デフォルトでローカルのタイムゾーンを使用します。

もし、これが問題でなければ、サンプルコードを投稿してください。

しかし、私は、あなたが ジョダタイム これは、より明確な API を提供するものです。