Java/Groovy - 简单的日期重新格式化

新手上路,请多包涵

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

我确定这很简单,但解决方案让我望而却步。谁能帮忙?

原文由 DC Guy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 976
2 个回答

使用 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

原文由 tim_yates 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

new SimpleDateFormat("dd-MMM-yyyy")

原文由 Reimeus 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题