56

我是 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

我确定这很简单,但解决方案让我望而却步。任何人都可以帮忙吗?

4

3 回答 3

87

使用 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
于 2013-01-17T16:20:24.477 回答
2

您的DateFormat模式与您输入的日期不匹配String。你可以使用

new SimpleDateFormat("dd-MMM-yyyy")
于 2013-01-17T16:20:49.363 回答
1

oldDate不是SimpleDateFormat您用来解析它的格式。

试试这种格式:dd-MMM-yyyy - 它与您要解析的内容相匹配。

于 2013-01-17T16:21:54.307 回答