在这篇文章中,我们将看到如何在Java中把LocalDate转换为Instant。
Java的LocalDate转Instant
Instant
类提供了一个瞬时的时间点。当你想把LocalDate转换为Instant时,你需要提供时区。
使用toInstant()和ZoneId
ZoneDateTime的toInstant()
方法可以用来将LocalDate转换为Instant。在进行转换之前,你需要提供ZoneId
。
- 用以下方法获得
LocalDate
对象LocalDate.now()
- 基于Locale创建
ZoneId
实例 - 将
ZoneId
传给LocalDate
'satStartOfDay()
,以获得ZoneDateTime。 - 使用
ZoneDateTime
'stoInstant()
方法,在Java中把LocalDate转换为Instant。
如果你想拥有默认的时区,你可以使用ZoneId.systemDefault()
。它将为你提供JVM的默认时区。
package org.arpit.java2blog;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
public class JavaLocalDateToInstant {
public static void main(String[] args) {
// Get LocalDate object
LocalDate date = LocalDate.now();
// Get default timezone
ZoneId zoneId = ZoneId.systemDefault();
// Convert LocalDate to Instant using toInstant() method
Instant instant = date.atStartOfDay(zoneId).toInstant();
// Print Instant
System.out.println("Instant obj: "+instant);
}
}
输出。
Instant obj: 2022-02-16T18:30:00Z
使用ZoneOffset的toInstant()方法
你可以向ZoneDateTime的toInstant()
方法传递ZoneOffset
,在Java中把LocalDate转换为Instant。
package org.arpit.java2blog;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneOffset;
public class JavaLocalDateToInstant {
public static void main(String[] args) {
// Get LocalDate object
LocalDate localDate = LocalDate.now();
// Convert LocalDate to Instant with ZoneOffSet
Instant instant = localDate.atStartOfDay().toInstant(ZoneOffset.UTC);
// Print Instant
System.out.println("Instant obj: "+instant);
}
}
输出。
即时obj:2022-02-17T00:00:00Z
以上就是关于如何在Java中把LocalDate转换为Instant的全部内容。