跳转至

Java Unix 时间

原文:http://zetcode.com/java/unixtime/

Java Unix 时间教程展示了如何使用 Java 计算 Unix 时间。

Unix 时间(也称为 POSIX 时间或纪元时间),是一种用于描述时间点的系统,该时间点定义为自 00:00:00 协调世界时(UTC)起经过的秒数 ,1970 年 1 月 1 日,星期四,减去此后发生的秒数。

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);

从 Java8 开始,可以使用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 时间。 您可能也对相关教程感兴趣: Java TemporalAdjusters教程Java 文件教程Java LocalTime教程Java 创建目录用 Java 复制文件用 Java 创建文件Java 教程用 Java 读取文本文件读写 Java 中的 ICO 图像



回到顶部