当前位置: 首页 > 面试题库 >

Java vSimpleDateFormat解析日期为'Z'文字的日期

梁丘俊人
2023-03-14
问题内容

我正在尝试解析一个看起来像这样的日期:

2010-04-05T17:16:00Z

这是每个http://www.ietf.org/rfc/rfc3339.txt的有效日期。“ Z”文字(引号)“ 表示UTC是指定时间的首选参考点。 ”

如果我尝试使用SimpleDateFormat和以下模式对其进行解析:

yyyy-MM-dd'T'HH:mm:ss

它将被解析为2010年美国东部时间星期一4月5日17:16:00

SimpleDateFormat 无法使用以下模式解析字符串:

yyyy-MM-dd'T'HH:mm:ssz
yyyy-MM-dd'T'HH:mm:ssZ

我可以显式设置要用于的TimeZoneSimpleDateFormat获得预期的输出,但我认为这不是必需的。我有什么想念的吗?有替代的日期解析器吗?


问题答案:

在此模式中,包含“ z”日期时间部分表示时区格式需要符合一般时区 “标准”,例如Pacific Standard Time; PST; GMT-08:00

“ Z”表示时区符合RFC 822时区标准,例如-0800。

我认为你需要一个DatatypeConverter ...

@Test
public void testTimezoneIsGreenwichMeanTime() throws ParseException {
    final Calendar calendar = javax.xml.bind.DatatypeConverter.parseDateTime("2010-04-05T17:16:00Z");
    TestCase.assertEquals("gotten timezone", "GMT+00:00", calendar.getTimeZone().getID());
}


 类似资料:
  • 在使用date格式自动设置为IE后,我试图解析某个包含日期条目为纪元数值的json文档。我需要不同的格式(也需要一毫秒) 所以问题是,如何解析IE。转换为带有Bson文档的某种自定义格式字符串。解析方法? 编辑:只是一个更新:问题在document.parse方法中,因为我不知道如何在解析json文档时使用tell.parse函数来使用自定义的日期格式。我总是得到某种默认的日期格式。如何发送给.p

  • 我试图以C#为目标,使用Antlr4解析一个日期。在我的情况下,有效日期应具有以下内容 采用格式 年份只能有4位数字 月和日只能有2位 我知道类似的问题已经出现了,但它们的解决方案似乎对我不起作用 如何创建将解析日期的antlr4语法 ANTLR:识别日期和数字的最简单方法? 我在某个地方读到过,有一种类似优先级的解析,其中基于语法文件如何编写的顶级规则首先被评估。因此,考虑一下,除了日期,我的语

  • 我试图用GMT解析一个表示日期的字符串,但它在我的PC(太平洋)上的时区中打印出来。当我运行下面的时,我得到下面的输出。关于如何让解析器解析并返回GMT日期有什么想法吗?如果您看下面,我正在使用format.settimezone(timezone.gettimezone(“GMT”))设置时区;但它并没有产生预期的结果。 以下代码的输出: 10月29日星期一05:57:00 PDT 2012

  • 问题内容: 我在Swift的应用程序中有一个返回JSON,并且有一个返回日期的字段。当我引用此数据时,代码会给我类似“ / Date(1420420409680)/”的信息。如何将其转换为NSDate?请在Swift中用Objective-C测试示例,但没有成功。 问题答案: 这看起来与Microsoft的ASP.NET AJAX使用的日期的JSON编码非常相似,JavaScript和.NET中的

  • 我试图以以下格式解析来自MySql的数据: Java解析器代码如下: java线程“AWT-EventQueue-0”中出现异常。时间总体安排DateTimeParseException:无法解析文本“06-08-2017 04:15”:无法从临时助理获取ZonedDateTime:{MinuteOfHour=15,DayOfMonth=8,WeekBasedYear[WeekFields[SUN

  • 问题内容: 我有一个名为的变量,它具有以下格式的今天的日期:。然后,将其格式化为MySQL的Date类型格式,即。这段代码可以做到: 我要做的是将其恢复为Date类型。我尝试了一些方法,但是它们没有用。主要解决方案是按照其他的问题中所述进行操作](http://codingdict.com/questions/2936),并通过一个小小的mod达到了我想要的功能: 但是它不起作用,因为尝试解析时出