gpt4 book ai didi

java - 我怎样才能在java中获得这个日期时间格式

转载 作者:行者123 更新时间:2023-12-01 16:49:34 25 4
gpt4 key购买 nike

我关注这个api document ,这个api需要一个Date header,他们说他们只支持GMT日期格式,所以我尝试了以下所有方法,但没有一个成功。

@Test
public void testFormat(){
Date a = new Date("Tue, 08 Dec 2015 06:13:40 GMT");
System.out.println(a);
Date b = new Date("Thu, 17 Mar 2012 18:49:58 GMT");
System.out.println(b);
System.out.println(b.toGMTString()); // 17 Mar 2012 18:49:58 GMT
System.out.println(b.toLocaleString());// 2012-3-18 2:49:58
System.out.println(DateFormatUtils.ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT.format(b));//2012-03-18T02:49:58+08:00
}

那么,这样的格式是怎样的 Tue, 08 Dec 2015 06:13:40 GMT ,我怎样才能在Java中获得这种格式?

编辑

输出

Tue Dec 08 14:13:40 CST 2015
Sun Mar 18 02:49:58 CST 2012
17 Mar 2012 18:49:58 GMT
2012-3-18 2:49:58
2012-03-18T02:49:58+08:00

我不仅仅是在问模式,我想知道这种格式是否有任何标准或名称?

最佳答案

这样的格式是什么Tue, 08 Dec 2015 06:13:40 GMT ?有什么标准或名称吗?

The doc of Date.parse() 将其称为“IETF 标准日期语法”。 That of DateTimeFormatter.RFC_1123_DATE_TIME 如“RFC 1123/RFC 822”。后者更新了很多,所以可能更流行。

如何在 Java 中获取这种格式?

它内置为 java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME 。例如,在我的电脑上 OffsetDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME)刚刚生产

Thu, 6 Apr 2017 15:25:44 +0200

我使用的类在 java.time 中包裹。它们内置于我正在使用的 Java 8 中。在 Android 上,您可以获得 java.time the ThreeTenABP中的类(class).

上述输出中的区域偏移量为 +0200 。如果我希望它是GMT怎么办? ?只需使用 OffsetDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.RFC_1123_DATE_TIME) ,而且将会如此。更一般地说,请确保您的 OffsetDateTime是在 UTC 偏移量中。或者,使用DateTimeFormatter.RFC_1123_DATE_TIME.withZone(ZoneOffset.UTC) ;这将覆盖您的 OffsetDateTime 的区域.

如果您不想依赖 ThreeTenABP,我相信 Zaki Pathan 的评论可以为您提供适用于 Android 的解决方案。

关于java - 我怎样才能在java中获得这个日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43251222/

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