📌  相关文章
📜  Java中的 ChronoZonedDateTime toEpochSecond() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:51.980000             🧑  作者: Mango

Java中的 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()方法及示例的介绍。