📅  最后修改于: 2023-12-03 15:01:51.980000             🧑  作者: Mango
ChronoZonedDateTime toEpochSecond()
方法及示例在Java中,我们可以使用ChronoZonedDateTime
类表示一个带时区的日期和时间。toEpochSecond()
方法可以将ChronoZonedDateTime
对象转换为从1970年1月1日00:00:00 UTC开始的秒数。
如果我们想将一个日期和时间转换为秒数,可以使用这个方法。
以下是使用toEpochSecond()
方法的示例代码:
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Example {
public static void main(String[] args) {
LocalDateTime localDateTime = LocalDateTime.of(2021, 7, 1, 13, 30);
ZoneId zoneId = ZoneId.of("Asia/Shanghai");
ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, zoneId);
long epochSeconds = zonedDateTime.toEpochSecond();
System.out.println(epochSeconds);
}
}
输出结果为:
1625125800
这个数字代表2021年7月1日13:30:00(亚洲/上海时区)距离1970年1月1日00:00:00 UTC的秒数。
需要注意的是,toEpochSecond()
方法返回的是一个long
类型的整数,表示从1970年1月1日00:00:00 UTC开始的秒数,如果我们需要毫秒数,可以将其乘以1000。
以下是将日期和时间转换为毫秒数的示例代码:
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Example {
public static void main(String[] args) {
LocalDateTime localDateTime = LocalDateTime.of(2021, 7, 1, 13, 30);
ZoneId zoneId = ZoneId.of("Asia/Shanghai");
ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, zoneId);
long epochMillis = zonedDateTime.toEpochSecond() * 1000;
System.out.println(epochMillis);
}
}
输出结果为:
1625125800000
这个数字代表2021年7月1日13:30:00(亚洲/上海时区)距离1970年1月1日00:00:00 UTC的毫秒数。
以上就是关于ChronoZonedDateTime toEpochSecond()
方法及示例的介绍。