我是Java/Groovy开发的新手,我有一个简单的字符串,我想重新格式化,但是当我尝试运行以下命令时,我得到一个'不可解析的日期'错误:
import java.text.SimpleDateFormat
import java.util.Date
String oldDate
Date date
String newDate
oldDate = '04-DEC-2012'
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldDate)
newDate = new SimpleDateFormat("M-d-yyyy").format(date)
println newDate
我肯定这很简单,但我想不出解决办法。有人能帮忙吗?
使用Groovy,您不需要包含,只需:
String oldDate = '04-DEC-2012'
Date date = Date.parse( 'dd-MMM-yyyy', oldDate )
String newDate = date.format( 'M-d-yyyy' )
println newDate
打印:
12-4-2012
您的DateFormat
模式与您输入的日期String
不匹配。你可以使用
new SimpleDateFormat("dd-MMM-yyyy")
oldDate
不是您用来解析它的SimpleDateFormat
的格式。
试试这个格式:dd-MMM-yyyy
-它匹配你要解析的内容。
//Groovy Script
import java.util.Date
import java.util.TimeZone
tz = TimeZone.getTimeZone("America/Sao_Paulo")
def date = new Date()
def dt = date.format("yyyy-MM-dd HH:mm:ss", timezone=tz)
println dt //formatado
println date // formatado porém, horario do Sistema em GMT.