Pretvori vrijeme u milisekunde na Javi
1. Pregled
U ovom brzom vodiču, ilustrirat ćemo više načina pretvaranja vremena u Unix-epoch milisekunde na Javi.
Točnije, koristit ćemo:
- Jezgre Java java.util.Datum i Kalendar
- API za datum i vrijeme Java 8
- Biblioteka Joda-Time
2. Jezgra Java
2.1. Koristeći Datum
Prvo, definirajmo a milis svojstvo koje sadrži slučajnu vrijednost milisekundi:
dugi milis = 1556175797428L; // 25. travnja 2019. 7: 03: 17.428 UTC
Ovu ćemo vrijednost upotrijebiti za inicijalizaciju različitih objekata i provjeru rezultata.
Dalje, krenimo s a Datum objekt:
Datum datum = // detalji implementacije
Sad smo spremni pretvoriti datum u milisekunde jednostavnim pozivanjem datoteke getTime () metoda:
Assert.assertEquals (milis, datum.getTime ());
2.2. Koristeći Kalendar
Isto tako, ako imamo a Kalendar objekt, možemo koristiti getTimeInMillis () metoda:
Kalendar kalendara = // detalji provedbe Assert.assertEquals (millis, calendar.getTimeInMillis ());
3. Java 8 Date Time API
3.1. Koristeći Trenutak
Jednostavno rečeno, Trenutak je točka na Javinoj vremenskoj traci.
Trenutno vrijeme možemo dobiti u milisekundama iz Trenutak:
java.time.Instant instant = // detalji provedbe Assert.assertEquals (millis, instant.toEpochMilli ());
Kao rezultat, toEpochMilli () metoda vraća isti broj milisekundi kao što smo definirali ranije.
3.2. Koristeći LocalDateTime
Slično tome, možemo koristiti API za datum i vrijeme Java 8 za pretvorbu a LocalDateTime u milisekunde:
LocalDateTime localDateTime = // detalji implementacije ZonedDateTime zdt = ZonedDateTime.of (localDateTime, ZoneId.systemDefault ()); Assert.assertEquals (millis, zdt.toInstant (). ToEpochMilli ());
Prvo smo stvorili primjerak trenutnog datuma. Nakon toga smo koristili toEpochMilli () metoda za pretvorbu ZonedDateTime u milisekunde.
Kao što znamo, LocalDateTime ne sadrži informacije o vremenskoj zoni. Drugim riječima, ne možemo izravno dobiti milisekunde LocalDateTime primjer.
4. Joda-Time
Iako Java 8 dodaje velik dio funkcionalnosti Joda-Timea, možda ćemo htjeti koristiti ovu opciju ako smo na Javi 7 ili starijoj.
4.1. Koristeći Trenutak
Prvo, trenutni sustav možemo dobiti milisekunde iz Joda-Time Trenutak instance klase pomoću getMillis () metoda:
Instant jodaInstant = // detalji implementacije Assert.assertEquals (millis, jodaInstant.getMillis ());
4.2. Koristeći Datum vrijeme
Uz to, ako imamo Joda-Time Datum vrijeme primjer:
DateTime jodaDateTime = // detalji implementacije
Tada možemo dohvatiti milisekunde pomoću getMillis () metoda:
Assert.assertEquals (millis, jodaDateTime.getMillis ());
5. Zaključak
U zaključku, ovaj članak pokazuje kako pretvoriti vrijeme u milisekunde na Javi.
Napokon, kao i uvijek, cjeloviti kôd za ovaj članak dostupan je na GitHubu.