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.