Java Unix 时间

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 时间。

赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Java 教程