Java Unix 时间
上次修改时间:2024 年 7 月 16 日
在本文中,我们将展示如何在 Java 中计算 Unix 时间。
Unix 时间(也称为 POSIX 时间或 Epoch 时间)是一种描述时间点的系统,定义为自协调世界时 (UTC) 1970 年 1 月 1 日星期四 00:00:00 以来经过的秒数,减去此后发生的闰秒数。
Unix 时间广泛应用于类 Unix 操作系统,但也应用于许多其他计算系统和文件格式。 它经常被网站管理员使用,因为 Unix 时间戳可以同时代表所有时区。
Unix 时间戳应存储为 long
数字;如果它们存储为 Java int
值,则会导致 2038 年问题。 32 位变量无法编码 2038 年 1 月 19 日 03:14:07 UTC 之后的时间。
$ date +%s 1721218154
我们可以使用 date
命令来确定 Linux 上的 Unix 时间。 可以在 https://www.unixtimestamp.com/ 上确定 Unix 时间。
Java Unix 时间示例
以下示例计算 Unix 时间。
Main.java
import java.time.Instant; import java.util.Date; void main() { long ut1 = Instant.now().getEpochSecond(); System.out.println(ut1); long ut2 = System.currentTimeMillis() / 1000L; System.out.println(ut2); Date now = new Date(); long ut3 = now.getTime() / 1000L; System.out.println(ut3); }
在 Java 中计算 Unix 时间有三种基本方法。
long ut1 = Instant.now().getEpochSecond(); System.out.println(ut1);
自 Java 8 以来,可以使用 Instant
及其 getEpochSecond
来计算 Unix 时间。
long ut2 = System.currentTimeMillis() / 1000L; System.out.println(ut2);
在这里,我们使用 System.currentTimeMillis
方法计算 Unix 时间。 我们需要将毫秒转换为秒。
Date now = new Date(); long ut3 = now.getTime() / 1000L; System.out.println(ut3);
我们还可以使用旧的 Date
类来计算 Unix 时间。
$ java Main.java 1721218241 1721218241 1721218241
来源
在本文中,我们展示了如何在 Java 中计算 Unix 时间。
作者
列出所有Java教程。