[解決済み] Javaで現在の日付/時刻を取得する方法 [重複]について
質問
Javaで現在の日付/時刻を取得するのに最適な方法は何ですか?
どのように解決するのですか?
どのような日付/時刻の形式が必要かによります。
-
日付/時刻を1つの数値で表したい場合は、次のようになります。
System.currentTimeMillis()
は、UNIXエポックからのミリ秒数で表現されます (これは、Javaのlong
). この値は UTC タイムポイントからの差分であり、ローカルのタイムゾーンには依存しません。 1 . -
日付 / 時刻を、構成要素(年、月など)に数値でアクセスできるフォームにしたい場合は、次のいずれかを使用できます。
-
new Date()
を与える。Date
オブジェクトを現在の日付/時刻で初期化します。 問題なのはDate
APIメソッドのほとんどは欠陥があり......そして非推奨となっています。 -
Calendar.getInstance()
を与える。Calendar
オブジェクトは現在の日付/時刻で初期化され、デフォルトのLocale
とTimeZone
. その他のオーバーロードでは、特定のLocale
およびTimeZone
. カレンダーは動くが・・・APIが面倒なのは変わらない。 -
new org.joda.time.DateTime()
を与える。 城田時間 オブジェクトは現在の日付/時刻で初期化され、デフォルトのタイムゾーンとクロノロジーを使用します。 他にもたくさんのJodaの代替案があります...多すぎてここでは説明できません。 (ただし、Joda time にはパフォーマンス上の問題があるとの報告もあります。 https://stackoverflow.com/questions/6280829。 ) -
を呼び出すと、Java 8 では
java.time.LocalDateTime.now()
とjava.time.ZonedDateTime.now()
という表現が与えられます。 2 は、現在の日付/時刻を表します。
-
Java 8以前は、これらのことを知るほとんどの人が、以下のことを推奨していました。 ジョダタイム は、タイムポイントや継続時間の計算を含むことを行うための最高のJava APIを持っているとして(断然)。
Java 8 以降では、標準の
java.time
パッケージの使用を推奨します。 Joda timeは現在quot;obsolete"とみなされており、Jodaのメンテナは移行を推奨しています。
3
.
1 -
System.currentTimeMillis()
は、システム時刻を表します。 システムクロックは(公称)UTCに設定されるのが普通ですが、ローカルUTCクロックと真のUTCの間には差(デルタ)が生じます。 この差の大きさは、システムの時計がUTCとどれだけうまく同期しているか(そしてどれだけ頻繁に同期しているか)に依存します。
2 - LocalDateTimeは、タイムゾーンを含まないことに注意してください。 javadocに書いてあるように
オフセットやタイムゾーンなどの追加情報なしには、時間軸上のある瞬間を表すことはできません。
3 - 注意:移行しなくても、あなたのJava 8コードは壊れませんが、Jodaコードベースはいずれバグフィックスや他のパッチを受けなくなる可能性があります。 2020-02 現在、Joda の公式な "end of life" は発表されていませんし、Joda API は Deprecated としてマークされていません。
関連
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] javascriptでExpression言語を使うには?
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] HashMapのtoString関数はなぜ異なる順序で自分自身を印刷するのですか?
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] JavaでFileFilterを作るには?
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] java.lang.IncompatibleClassChangeError: Mongo クラスを実装しています。
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] java.sql.SQLRecoverableException: IO エラーです。NL Exceptionが発生しました
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] 現在の日付と時刻を取得する方法