如何以java获取此datetime格式
我遵循这个api,这个api需要一个日期头,他们说他们只支持GMT日期格式,所以我尝试了下面所有的方法,但没有一个成功如何以java获取此datetime格式,java,android,date,datetime,datetime-format,Java,Android,Date,Datetime,Datetime Format,我遵循这个api,这个api需要一个日期头,他们说他们只支持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.prin
@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,2015年12月8日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
我不是在问模式,我想知道这种格式有没有标准或名称 您应该使用
SimpleDataFormat
类。通过正确的模式,你可以得到你想要的任何输出。
有您应该参考的函数的文档
您应该使用
SimpleDataFormat
类。通过正确的模式,你可以得到你想要的任何输出。
有您应该参考的函数的文档
这是什么格式的
周二,2015年12月8日06:13:40 GMT
?有什么标准或名称吗?
将其称为“IETF标准日期语法”。作为“RFC 1123/RFC 822”。后者更新很多,因此可能更为流行
如何在Java中获取此格式?
它是内置的。例如,在我的计算机上刚刚生成的OffsetDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME)
Thu, 6 Apr 2017 15:25:44 +0200
我使用的类在java.time
包中。它们内置于我正在使用的Java8中。在Android上,您可以在中获取java.time
类
上述输出中的分区偏移量为+0200
。如果我希望它是GMT
?只需使用OffsetDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.RFC_1123_DATE_TIME),它就可以了。更一般地说,确保您的OffsetDateTime
处于UTC偏移量。或者,使用DateTimeFormatter.RFC\u 1123\u DATE\u TIME.withZone(ZoneOffset.UTC)
;这将覆盖OffsetDateTime
的区域
如果你不想依赖ThreeTenABP,我相信Zaki Pathan的评论为你提供了Android的解决方案。这是什么格式的
周二,2015年12月8日06:13:40 GMT
?有什么标准或名称吗?
将其称为“IETF标准日期语法”。作为“RFC 1123/RFC 822”。后者更新很多,因此可能更为流行
如何在Java中获取此格式?
它是内置的。例如,在我的计算机上刚刚生成的OffsetDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME)
Thu, 6 Apr 2017 15:25:44 +0200
我使用的类在java.time
包中。它们内置于我正在使用的Java8中。在Android上,您可以在中获取java.time
类
上述输出中的分区偏移量为+0200
。如果我希望它是GMT
?只需使用OffsetDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.RFC_1123_DATE_TIME),它就可以了。更一般地说,确保您的OffsetDateTime
处于UTC偏移量。或者,使用DateTimeFormatter.RFC\u 1123\u DATE\u TIME.withZone(ZoneOffset.UTC)
;这将覆盖OffsetDateTime
的区域
如果你不想依赖ThreeTenABP,我相信Zaki Pathan的评论为你提供了Android的解决方案。请编辑你的问题并添加引用代码的输出参见
SimpleDateFormat
docs:DateFormat formatter=new SimpleDateFormat(“EEE,dd MMM yyyy HH:mm:ss z”);请编辑您的问题并添加引用代码的输出参见SimpleDateFormat
docs:DateFormat formatter=new SimpleDateFormat(“EEE,dd-MMM-yyy-HH:mm:ss z”);