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

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

Java中的 ChronoLocalDateTime toEpochSecond() 方法及示例

简介

在Java 8及以上版本中,ChronoLocalDateTime类提供了toEpochSecond()方法,该方法将本地日期时间以秒为单位转换为UNIX时间戳。

方法签名
long toEpochSecond(ZoneOffset offset);
参数
  • offset:本地日期时间与UTC之间的时差,以小时为单位。如果为null,则使用默认偏移量。
返回值
  • 返回该本地日期时间与1970年1月1日午夜UTC之间的秒数。
示例

以下示例展示如何使用toEpochSecond()方法将本地日期时间转换为UNIX时间戳。

import java.time.LocalDateTime;
import java.time.ZoneOffset;

public class Example {
    public static void main(String[] args) {
        // 创建一个本地日期时间对象
        LocalDateTime dateTime = LocalDateTime.of(2021, 1, 1, 0, 0, 0);

        // 将本地日期时间转换为UNIX时间戳
        long epochSecond = dateTime.toEpochSecond(ZoneOffset.UTC);

        // 输出时间戳
        System.out.println(epochSecond);  // 1609459200
    }
}

在上述示例中,我们创建了一个本地日期时间对象dateTime,并使用toEpochSecond()方法将其转换为秒数形式的UNIX时间戳。由于我们使用了UTC作为本地日期时间与UTC之间的时差,因此返回的时间戳是基于UTC的。本示例输出的时间戳为1609459200,表示2021年1月1日午夜UTC的时间戳。

总结

toEpochSecond()方法使得将本地日期时间转换为UNIX时间戳变得非常简单。需要注意的是,在使用该方法时必须指定本地日期时间与UTC之间的时差,否则将使用默认偏移量。