gpt4 book ai didi

java - java中日期时间格式的转换!

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

我只需要有关java中的日期时间格式的小帮助。我正在编写一个基于雅虎信使的简单聊天应用程序,在其中我将读取雅虎信使的数据包并显示聊天消息。现在我想显示给定 header 的时间。在一篇特定的文章中,据说“时间戳”将为 0x477BBA61(十进制 1199290977),这意味着“Wed, 2 Jan 2008 16:22:57 GMT”。我试图揭示如何将该小数转换为该特定日期。我尝试编写一个简单的 java 应用程序来转换它并给出其他时间。

  public static void main(String[] arg)
{
Calendar obj = Calendar.getInstance();
obj.setTimeZone(TimeZone.getTimeZone("GMT"));
obj.setTimeInMillis(1199290977l);
System.out.println( obj.get(Calendar.HOUR)+":"+obj.get(Calendar.MINUTE));
}

output:9:8

有人可以帮我解决这个问题吗?

最佳答案

您的 1199290977L 值错误。这是自 Unix 纪元(UTC 时间 1970 年 1 月 1 日午夜)以来的 - 您需要将其乘以 1000 才能得到自该纪元以来的毫秒

您还使用 12 小时制 Calendar.HOUR,而不是 24 小时制 Calendar.HOUR_OF_DAY。这段代码:

Calendar  obj = Calendar.getInstance();
obj.setTimeZone(TimeZone.getTimeZone("GMT"));
obj.setTimeInMillis(1199290977000L);
System.out.println(obj.get(Calendar.HOUR_OF_DAY) + ":" +
obj.get(Calendar.MINUTE));

...打印 16:22。

但是,您绝对应该使用 java.text.DateTimeFormat 类,而不是自己执行此操作 - 或者,理想情况下,使用 Joda Time相反。

关于java - java中日期时间格式的转换!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5660566/

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