Idő konvertálása milliszekundumra Java-ban

1. Áttekintés

Ebben a gyors bemutatóban bemutatjuk az Java Unix-korszak milliszekundumokká történő átalakításának több módját.

Pontosabban a következőket fogjuk használni:

  • Core Java-k java.util.Dátum és Naptár
  • Java 8 dátum és idő API
  • Joda-Time könyvtár

2. Core Java

2.1. Használata Dátum

Először definiáljuk a millis ezredmásodpercek véletlenszerű értéke:

hosszú millis = 1556175797428L; // 2019. április 25. 7: 03: 17.428 UTC

Ezt az értéket felhasználjuk a különböző objektumok inicializálásához és az eredmények ellenőrzéséhez.

Ezután kezdjük a Dátum tárgy:

Dátum dátum = // megvalósítás részletei

Most készen állunk rá konvertálja a dátum ezredmásodpercekre egyszerűen a getTime () módszer:

Assert.assertEquals (millis, date.getTime ());

2.2. Használata Naptár

Hasonlóképpen, ha van egy Naptár objektumot használhatjuk getTimeInMillis () módszer:

Naptárnaptár = // megvalósítás részletei Assert.assertEquals (millis, calendar.getTimeInMillis ());

3. Java 8 dátum és idő API

3.1. Használata Azonnali

Egyszerűen fogalmazva, Azonnali pont a Java korszakának idővonalán.

Az aktuális időt ezredmásodpercekben megkaphatjuk a Azonnali:

java.time.Instant instant = // a megvalósítás részletei Assert.assertEquals (millis, instant.toEpochMilli ());

Ennek eredményeként a toEpochMilli () metódus ugyanannyi ezredmásodpercet ad vissza, mint amit korábban definiáltunk.

3.2. Használata LocalDateTime

Hasonlóképpen használhatjuk a Java 8 Dátum és Idő API-ját a LocalDateTime ezredmásodpercekre:

LocalDateTime localDateTime = // a megvalósítás részletei ZonedDateTime zdt = ZonedDateTime.of (localDateTime, ZoneId.systemDefault ()); Assert.assertEquals (millis, zdt.toInstant (). ToEpochMilli ());

Először hoztunk létre egy példányt az aktuális dátumról. Ezt követően használtuk a toEpochMilli () metódus a ZonedDateTime ezredmásodpercekre.

Mint tudjuk, LocalDateTime nem tartalmaz információkat az időzónáról. Más szavakkal, nem kaphatunk ezredmásodperceket közvetlenül LocalDateTime példa.

4. Joda-idő

Míg a Java 8 hozzáadja a Joda-Time funkcionalitásának nagy részét, érdemes használni ezt az opciót, ha Java 7-es vagy régebbi verziót használunk.

4.1. Használata Azonnali

Először is a jelenlegi rendszert milliszekundumokban kaphatjuk meg a Joda-Time Azonnali osztálypéldány a getMillis () módszer:

Azonnali jodaInstant = // a megvalósítás részletei Assert.assertEquals (millis, jodaInstant.getMillis ());

4.2. Használata Dátum idő

Ezenkívül, ha van egy Joda-időnk Dátum idő példa:

DateTime jodaDateTime = // a megvalósítás részletei

Ezután lekérhetjük a milliszekundumokat a getMillis () módszer:

Assert.assertEquals (millis, jodaDateTime.getMillis ());

5. Következtetés

Összefoglalva, ez a cikk bemutatja, hogyan lehet az időt milliszekundummá konvertálni a Java-ban.

Végül, mint mindig, a cikk teljes kódja elérhető a GitHubon.