我對Groovy相當陌生(但已經很喜歡它)。我對編碼並不陌生,但到目前爲止還沒有太多的經驗。使用TimeZone重新格式化字符串日期
我在做什麼? 我從excel文件中提取某些信息,以從中創建一個XML(SOAP)消息,將其轉發到Web服務。目前爲止一切正常除日期轉換。
我保存字符串日期爲VAR
odate = 'Wed Oct 31 00:00:00 CET 2012'
我必須在這一天重新格式化爲類似
「2012年10月31日10:09:00」(MM/dd/yyyy HH:mm:ss)
我試圖解析日期爲mentioned in another question但我得到的只是一個例外。
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')
拋出異常 2012年10月31日十時18分25秒org.codehaus.groovy.runtime.StackTraceUtils消毒
WARNUNG:消毒堆棧跟蹤:
java.text.ParseException:無法解析日期: 「星期三10月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')
但是,我需要解析器接受英文日期格式。 我該怎麼做(錯誤)?
感謝您的額外信息。 –