java-time-milliseconds
Javaで時間をミリ秒に変換する
1. 概要
このクイックチュートリアルでは、* Javaで時間をUnixエポックミリ秒に変換する複数の方法を説明します*。
具体的には、以下を使用します。
-
コアJavaの_java.util.Date_および_Calendar_
-
Java 8の日付と時刻のAPI
-
Joda-Timeライブラリ
*2. コアJava *
* 2.1。 Date *の使用
まず、ミリ秒のランダムな値を保持する_millis_プロパティを定義しましょう:
long millis = 1556175797428L; // April 25, 2019 7:03:17.428 UTC
この値を使用して、さまざまなオブジェクトを初期化し、結果を検証します。
次に、_Date_オブジェクトから始めましょう。
Date date = // implementation details
これで、単に_getTime()_メソッドを呼び出すだけで_date_をミリ秒に変換する準備ができました*:
Assert.assertEquals(millis, date.getTime());
* 2.2。 Calendar *の使用
同様に、_Calendar_オブジェクトがある場合は、_getTimeInMillis()_メソッドを使用できます。
Calendar calendar = // implementation details
Assert.assertEquals(millis, calendar.getTimeInMillis());
*3. Java 8 Date Time API *
* 3.1。 Instant *の使用
簡単に言えば、https://www.baeldung.com/current-date-time-and-timestamp-in-java-8 [_Instant_]はJavaのエポックタイムラインのポイントです。
_Instant_からミリ秒単位で現在の時刻を取得できます。
java.time.Instant instant = // implementation details
Assert.assertEquals(millis, instant.toEpochMilli());
その結果、_toEpochMilli()_メソッドは、前に定義したのと同じミリ秒数を返します。
* 3.2。 LocalDateTime *の使用
同様に、Java 8のlink:/java-8-date-time-intro[Date and Time API]を使用して、_LocalDateTime_をミリ秒に変換できます。
LocalDateTime localDateTime = // implementation details
ZonedDateTime zdt = ZonedDateTime.of(localDateTime, ZoneId.systemDefault());
Assert.assertEquals(millis, zdt.toInstant().toEpochMilli());
まず、現在の日付のインスタンスを作成しました。 その後、_toEpochMilli()_メソッドを使用して、_ZonedDateTime_をミリ秒に変換しました。
知っているように、_LocalDateTime_にはタイムゾーンに関する情報は含まれていません。 つまり、* LocalDateTime_インスタンスからミリ秒を直接取得することはできません*。
4. ジョーダタイム
Java 8はJoda-Timeの機能の多くを追加しますが、Java 7以前を使用している場合はこのオプションを使用できます。
* 4.1。 Instant *の使用
まず、_getMillis()_メソッドを使用して、* https://www.baeldung.com/joda-time [Joda-Time] * _Instant_クラスインスタンスから現在のシステムミリ秒を取得できます。
Instant jodaInstant = // implementation details
Assert.assertEquals(millis, jodaInstant.getMillis());
* 4.2。 DateTime *の使用
さらに、Joda-Time _DateTime_インスタンスがある場合:
DateTime jodaDateTime = // implementation details
次に、_getMillis()_メソッドを使用してミリ秒を取得できます。
Assert.assertEquals(millis, jodaDateTime.getMillis());
5. 結論
結論として、この記事ではJavaで時間をミリ秒に変換する方法を示します。
最後に、いつものように、この記事の完全なコードはhttps://github.com/eugenp/tutorials/tree/master/java-dates-2[on on GitHub]で入手できます。