我想为Java SimpleDaterFormat定义一个模式来解析现有的字符串。用SimpleDateFormat解析时区格式的正确模式
现有日期如下所示: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
THX。支持ISO 8601时区是用Java 7实现的,但是我的应用程序在Java 1.6下运行。 – cuh 2012-03-14 14:59:21
也许你可以在将它传递给格式化程序之前删除冒号然后呢?我认为这个正则表达式应该只对冒号有效:dateString.replaceFirst(“(\\ d \\ d):(\\ d \\ d)$”,“$ 1 $ 2”) – matts 2012-03-14 15:08:39
我无法修改字符串第一。我使用一个工具来导入一组数据,并且只能定义一个模式。 – cuh 2012-03-14 15:15:24