gpt4 book ai didi

Java - 将 Unix 纪元时间转换为日期

转载 作者:行者123 更新时间:2023-11-30 04:52:00 25 4
gpt4 key购买 nike

我需要将一些纪元时间戳转换为真实日期,并使用了我在堆栈溢出上找到的一些方法,但它们给出了错误的答案。

作为示例,一个日期在纪元时间中为“129732384262470907”,即“Mon, 20 Jan 6081 05:24:22 GMT”,使用 http://www.epochconverter.com/

但是,我的代码生成:“Wed Dec 24 14:54:05 CST 19179225”

  String epochString = token.substring(0, comma);
long epoch = Long.parseLong(epochString);
Date logdate = new Date(epoch * 1000);
BufferedWriter timewrite = new BufferedWriter(new FileWriter(tempfile, true));
timewrite.write(logdate);
timewrite.flush();
timewrite.close();

初始时间戳以毫秒为单位,在我在这里看到的示例中,我应该将其乘以 1000。

如果我不乘以 1000,则会得到:“Mon Aug 08 01:14:30 CDT 4113025”

两者都是错误的。

那么我的错误在哪里呢?

最佳答案

129732384262470907 实际上是自纪元以来的微秒(如果它是 6081),因此如果这是真实输入,您需要 1000。

请注意,epochconverter.com 甚至不处理该值 - 它只允许您输入 129732384262470,然后将其视为毫秒自古以来。

如果您的数据自纪元以来已有,则需要乘以 1000。基本上,您需要知道的是 Java 期望自纪元以来的毫秒数;假设您知道输入数据的实际含义,其余的应该是一帆风顺的。

如果您可以提供真实数据及其含义,那么解决您的问题可能会很容易。

关于Java - 将 Unix 纪元时间转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com