Java Groovy日期解析--X是非法的模式字符
我有以下日期字符串:Java Groovy日期解析--X是非法的模式字符,java,date,groovy,Java,Date,Groovy,我有以下日期字符串:2011-09-06T22:02:57-04:00。问题是时区,-04:00。Java7文档说我可以使用XXX神奇地匹配这个时区字符串: 问题是Groovy不支持X字符,可能是因为它还没有使用JDK7。z字符不起作用,因为它不是GMT-07:00,只有-07:00解析此时区的最简单方法是什么 -tjw您可以使用(jaxb支持)解析此日期格式。我能想到的最简单的答案就是使用“Z”。这里的问题是-04:00不被解析器识别。那么,为什么不在尝试转换之前运行一个正则表达式,查找最终的
2011-09-06T22:02:57-04:00
。问题是时区,-04:00。Java7文档说我可以使用XXX
神奇地匹配这个时区字符串:
问题是Groovy不支持X
字符,可能是因为它还没有使用JDK7。z
字符不起作用,因为它不是GMT-07:00
,只有-07:00
解析此时区的最简单方法是什么
-tjw您可以使用(jaxb支持)解析此日期格式。我能想到的最简单的答案就是使用“Z”。这里的问题是-04:00不被解析器识别。那么,为什么不在尝试转换之前运行一个正则表达式,查找最终的:并删除它。您到底想做什么?让groovy解析日期并将其传递回java?还是groovy里面的东西?不清楚您为什么要做OP想要在Groovy中解析ISO8601日期时间字符串的事情。这是一个好问题,因为在Groovy安装的jar中,
SimpleDataFormat
类不直接支持时区后缀,我认为。@Ray支持Z
和Z
模式,但不支持X
,因此我的问题就来了。我知道没有其他简单的方法来解析这个字符串。很明显,任何7之前的Java程序都会有这个问题。@Travis,是的,这是真的;我想说的是(后缀我指的是ISO8601偏移后缀,而不是Z)。无论如何,答案可能在这里:,如果你愿意和乔达一起去的话。