使用SimpleDateFormat解析时区格式的正确模式是什么



我想为Java SimpleDaterFormat定义一个模式来解析现有字符串。

现有日期如下所示:2011-05-02T13:40:00+02:00

我尝试了不同的模式,但我得到了ParseExceptions。问题似乎出在时区格式上。

用Java打印图案:

  • yyyy-MM-dd'T'HH:mm:ssZ
    • 2012-03-14T15:40:44+0100
  • yyyy-MM-dd'T'HH:mm:ssz
    • 2012-03-14T15:41:58MEZ

但是我怎样才能得到

  • ???
    • 2011-05-02T13:40:00+02:00

我使用的是Java 6,而不是Java 7。

如果您可以使用Java 7或更新版本,您可以使用XXX模式使时区看起来像+02:00:

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

否则,在解析日期字符串之前,您可能需要对其进行操作以从时区中删除冒号。

我知道这是一个有点老的问题,但其他人可能会从我的提示中受益。您可以使用JodaTime。如图书馆文件所示:

区域:"Z"输出不带冒号的偏移量,"ZZ"输出带冒号、'ZZZ'或更多输出区域id。

您也可以将它与java6一起使用。这个问题中有更多的例子

相关内容

  • 没有找到相关文章

最新更新