Java中ChronoZonedDateTime toEpochSecond()方法及示例
ChronoZonedDateTime 接口的 toEpochSecond() 方法用于将此ChronoZonedDateTime转换为自1970-01-01T00:00:00Z这个纪元以来的秒数。该方法将这个ChronoZonedDateTime与作为参数传递的偏移量结合起来,计算出纪元秒值,即从1970-01-01T00:00:00Z开始的已过秒数。时间轴上的纪元后的时刻为正值,较早的时刻为负值。
语法
default long toEpochSecond()
参数: 本方法不接受任何参数。
返回值: 该方法的返回值为1970-01-01T00:00:00Z以来的秒数,可能为负值。
下面的程序说明了toEpochSecond()方法。
程序1 :
// Java program to demonstrate
// ChronoZonedDateTime.toEpochSecond() method
import java.time.*;
import java.time.chrono.*;
import java.time.chrono.*;
public class GFG {
public static void main(String[] args)
{
// create ChronoZonedDateTime object
ChronoZonedDateTime time
= ZonedDateTime
.parse(
"2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
// print ChronoZonedDateTime
System.out.println("ChronoZonedDateTime: "
+ time);
// print result
System.out.println("Epoch Second: "
+ time.toEpochSecond());
}
}
输出:
ChronoZonedDateTime: 2018-12-06T19:21:12.123+05:30[Asia/Calcutta]
Epoch Second: 1544104272
程序2
// Java program to demonstrate
// ChronoZonedDateTime.toEpochSecond() method
import java.time.*;
import java.time.chrono.*;
import java.time.chrono.*;
public class GFG {
public static void main(String[] args)
{
// create ChronoZonedDateTime object
ChronoZonedDateTime time
= ZonedDateTime.parse(
"1918-10-25T23:12:38.543+02:00[Europe/Paris]");
// print ChronoZonedDateTime
System.out.println("ChronoZonedDateTime: "
+ time);
// print result
System.out.println("Epoch Second: "
+ time.toEpochSecond());
}
}
输出:
ChronoZonedDateTime: 1918-10-25T23:12:38.543Z[Europe/Paris]
Epoch Second: -1615250842
参考资料: https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoZonedDateTime.html#toEpochSecond-