我对 Groovy 还很陌生(但已经很喜欢它了)。我对编码并不陌生,但到目前为止还没有太多经验。
我在做什么?我正在从 excel 文件中提取某些信息以从中创建 XML (SOAP) 消息以将其转发到 Web 服务。到目前为止一切正常,除了 Date 转换。
我将字符串日期保存到 var
odate = 'Wed Oct 31 00:00:00 CET 2012'
我需要将此日期重新格式化为类似
"10/31/2012 10:09:00" (MM/dd/yyyy HH:mm:ss)
我试图解析另一个问题中提到的日期,但我得到的只是一个例外。
String odate = 'Wed Oct 31 00:00:00 CET 2012'
def parsedodate = new Date().parse('E MMM dd H:m:s z yyyy', odate)
println parsedodate.format('MM/dd/yyyy h:m:s')
抛出异常 31.10.2012 10:18:25 org.codehaus.groovy.runtime.StackTraceUtils sanitize
警告:清理堆栈跟踪:
java.text.ParseException:无法解析的日期:“Wed Oct 31 00:00:00 CET 2012”
现在经过一些阅读和几轮反复试验,我发现解析方法似乎只能解释德国日期。在手动将字符串日期更改为德语格式(我所在的位置)后,以下工作。
String odate = 'Mi Okt 31 00:00:00 2012' //Mi = Wednesday, Okt = October, removed timezone
def parsedodate = new Date().parse('E MMM dd H:m:s yyyy', odate) // removed the z
println parsedodate .format('MM/dd/yyyy h:m:s')
但是,我需要解析器接受英文日期格式。我该怎么办(错)?