Java Unix 时间教程展示了如何使用 Java 计算 Unix 时间。
Unix 时间(也称为 POSIX 时间或纪元时间),是一种用于描述时间点的系统,该时间点定义为自 00:00:00 协调世界时(UTC)起经过的秒数 ,1970 年 1 月 1 日,星期四,减去此后发生的 of 秒数。
Unix 时间已广泛用于类似 Unix 的操作系统,但也用于许多其他计算系统和文件格式。 它是网站管理员经常使用的,因为 Unix 时间戳可以一次表示所有时区。
Unix 时间戳应存储为long
数字; 如果将它们存储为 Java int
值,则将导致 2038 年的问题。 32 位变量无法在 2038 年 1 月 19 日 UTC 时间 03:14:07 之后对时间进行编码。
$ date +%s
1517213809
我们可以使用date
命令来确定 Linux 上的 Unix 时间。 Unix 时间可以在 https://www.unixtimestamp.com/ 上确定。
Java Unix 时间示例
以下示例计算 Unix 时间。
JavaUnixTimeEx.java
package com.zetcode;
import java.time.Instant;
import java.util.Date;
public class JavaUnixTimeEx {
public static void main(String[] args) {
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 计算 Unix 时间。