[解決済み】Java 8でLocalDateTimeからミリ秒を取得する方法
質問
1970年1月1日(エポック)からの現在のミリ秒を取得する方法はないものでしょうか。
LocalDate
,
LocalTime
または
LocalDateTime
クラスは、Java 8の
既知の方法は以下の通りです。
long currentMilliseconds = new Date().getTime();
または
long currentMilliseconds = System.currentTimeMillis();
解決方法は?
現在のミリ秒」というのがどういう意味なのかよくわかりませんが、「エポック」、つまり1970年1月1日午前0時(UTC)からのミリ秒数ということにしておきます。
エポックからのミリ秒数を求めたい場合
今すぐ
を使用します。
System.currentTimeMillis()
として
Anubian Noob さんのご指摘
. もしそうなら、これを行うために新しいjava.time APIのどれかを使う理由はない。
しかし、もしかしたら、すでに
LocalDateTime
などのオブジェクトを取得し、それをエポックからのミリ秒に変換したい場合。それを直接行うことはできません。
LocalDateTime
オブジェクトのファミリーは、どのタイムゾーンにいるのかという概念を持ちません。したがって、UTCであるエポックからの相対時間を求めるには、タイムゾーンの情報を与える必要があります。
があるとします。
LocalDateTime
このように
LocalDateTime ldt = LocalDateTime.of(2014, 5, 29, 18, 41, 16);
タイムゾーンの情報を適用する必要があります。
ZonedDateTime
. 私はロサンゼルスと同じタイムゾーンにいるので、次のようにします。
ZonedDateTime zdt = ldt.atZone(ZoneId.of("America/Los_Angeles"));
もちろん、これはタイムゾーンを想定している。そして、例えば、ローカルタイムがたまたま夏時間(サマータイム)の移行に近い時刻を名乗っている場合など、エッジケースが発生する可能性があります。これらは脇に置いておくとして、このようなケースが存在することは認識しておく必要があります。
とにかく、有効な
ZonedDateTime
というように、エポックからのミリ秒数に変換することができます。
long millis = zdt.toInstant().toEpochMilli();
関連
-
[解決済み] java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了していません。
-
[解決済み] javaで部分クラスを実装する方法
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Linux, Bashで、現在の時刻をEpochからの秒数で取得する。
-
[解決済み] JavaでYYYY-MM-DD HH:MI:Sec.Millisecond フォーマットで現在の時刻を取得する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JVMフラグCMSClassUnloadingEnabledは、実際に何をするのですか?
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] どのように配列の10未満の値(x * 2)を倍増するコードを取得するには?(Java)
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み】ミリ秒単位の長いエポック時間からJava 8 LocalDateを作成するにはどうすればよいですか?