Konverter tid til millisekunder i Java

1. Oversikt

I denne raske opplæringen, vi illustrerer flere måter å konvertere tid til Unix-epoke millisekunder i Java.

Mer spesifikt vil vi bruke:

  • Core Java-er java.util.Date og Kalender
  • Java 8s API for dato og klokkeslett
  • Joda-Time bibliotek

2. Core Java

2.1. Ved hjelp av Dato

For det første, la oss definere en millis eiendom som har en tilfeldig verdi på millisekunder:

lange millis = 1556175797428L; // 25. april 2019 7: 03: 17.428 UTC

Vi bruker denne verdien til å initialisere de forskjellige objektene våre og verifisere resultatene.

Deretter, la oss starte med en Dato gjenstand:

Dato dato = // implementeringsdetaljer

Nå er vi klare til konvertere Dato i millisekunder ved ganske enkelt å påkalle getTime () metode:

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

2.2. Ved hjelp av Kalender

Likeledes hvis vi har en Kalender objekt, kan vi bruke getTimeInMillis () metode:

Kalenderkalender = // implementeringsdetaljer Assert.assertEquals (millis, calendar.getTimeInMillis ());

3. Java 8 Date Time API

3.1. Ved hjelp av Umiddelbar

For å si det enkelt, Umiddelbar er et poeng i tidslinjen til Java.

Vi kan få den nåværende tiden i millisekunder fra Umiddelbar:

java.time.Instant instant = // implementeringsdetaljer Assert.assertEquals (millis, instant.toEpochMilli ());

Som et resultat ble den toEpochMilli () metoden returnerer det samme antall millisekunder som vi definerte tidligere.

3.2. Ved hjelp av LocalDateTime

På samme måte kan vi bruke Java 8s Date and Time API til å konvertere en LocalDateTime i millisekunder:

LocalDateTime localDateTime = // implementeringsdetaljer ZonedDateTime zdt = ZonedDateTime.of (localDateTime, ZoneId.systemDefault ()); Assert.assertEquals (millis, zdt.toInstant (). ToEpochMilli ());

Først opprettet vi en forekomst av gjeldende dato. Etter det brukte vi toEpochMilli () metode for å konvertere ZonedDateTime i millisekunder.

Som vi vet, LocalDateTime inneholder ikke informasjon om tidssonen. Med andre ord, vi kan ikke få millisekunder direkte fra LocalDateTime forekomst.

4. Joda-Time

Mens Java 8 legger til mye av Joda-Time's funksjonalitet, vil vi kanskje bruke dette alternativet hvis vi er på Java 7 eller tidligere.

4.1. Ved hjelp av Umiddelbar

For det første kan vi få dagens system millisekunder fra Joda-Time Umiddelbar klasseinstans ved hjelp av getMillis () metode:

Øyeblikkelig jodaInstant = // implementeringsdetaljer Assert.assertEquals (millis, jodaInstant.getMillis ());

4.2. Ved hjelp av Dato tid

I tillegg, hvis vi har en Joda-Time Dato tid forekomst:

DateTime jodaDateTime = // implementeringsdetaljer

Så kan vi hente millisekundene med getMillis () metode:

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

5. Konklusjon

Avslutningsvis demonstrerer denne artikkelen hvordan du konverterer tid til millisekunder i Java.

Til slutt, som alltid, er den komplette koden for denne artikkelen tilgjengelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found