gpt4 book ai didi

Java日期格式问题

转载 作者:行者123 更新时间:2023-11-29 03:39:39 25 4
gpt4 key购买 nike

我正在尝试使用 Java Date 类来格式化一些日期。我有一些很长的值,是我通过之前的计算得到的。在我开始格式化任何日期之前,我有一个多头列表,它们如下所示。

-12345
0
12345

我做了一些像这样的基本格式化......

 DateFormat df = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss");
String formattedDate = df.format(new Date(dateNumber.longValue()));

因为 Java 使用 1970 年初作为基础,所以我的预期输出类似于

31/Dec/1969 23:59:47
01/Jan/1970 00:00:00
01/Jan/1970 00:00:12

但是我实际得到的输出是

31/Dec/1969 18:59:47
31/Dec/1969 19:00:00
31/Dec/1969 19:00:12

我有点困惑为什么他们都在 12 月 31 日而不是在 12 月 31 日和 1 月 1 日之间分开。由于列表中的第二个数字是正数,我无法弄清楚为什么日期会是 1970 年之前的任何东西。如果有人可以使用基本的 Java 库帮助我解决这个问题,我将不胜感激。

最佳答案

您可以将数据格式对象的时区设置为GMT:

df.setTimeZone(TimeZone.getTimeZone("GMT"));

你应该得到你想要的。时间戳表示“自格林威治标准时间 1970 年 1 月 1 日 00:00:00 以来的毫秒数”,对于您当前的时区,结果会有所不同。

关于Java日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13778900/

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