Java >> Java tutorial >  >> Java

Hvordan konverteres en LocalDate til et øjeblik?

For at konvertere det til et øjeblik skal du have en LocalDateTime-forekomst, f.eks.:

LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC)

Instant klasse repræsenterer et øjeblikkeligt punkt på tidslinjen. Konvertering til og fra en LocalDate kræver en tidszone. I modsætning til nogle andre dato- og tidsbiblioteker vil JSR-310 ikke automatisk vælge tidszonen for dig, så du skal angive den.

LocalDate date = LocalDate.now();
Instant instant = date.atStartOfDay(ZoneId.systemDefault()).toInstant();

Dette eksempel bruger standardtidszonen for JVM - ZoneId.systemDefault() - at udføre konverteringen. Se her for et længere svar på et relateret spørgsmål.

Opdatering:Det accepterede svar bruger LocalDateTime::toInstant(ZoneOffset) som kun accepterer ZoneOffset . Dette svar bruger LocalDate::atStartOfDay(ZoneId) som accepterer enhver ZoneId . Som sådan er dette svar generelt mere nyttigt (og burde sandsynligvis være det accepterede).

PS. Jeg var hovedforfatteren af ​​API'en


Java tag