Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Groovy日期解析--X是非法的模式字符_Java_Date_Groovy - Fatal编程技术网

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)。无论如何,答案可能在这里:,如果你愿意和乔达一起去的话。