当前位置: 首页 > 知识库问答 >
问题:

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

宋明亮
2023-03-14

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

我肯定这是件简单的事,但我想不出解决办法。有人能帮忙吗?

共有3个答案

洪彬
2023-03-14

oldDate的格式不是用于解析它的SimpleDateFormat

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

殷功
2023-03-14

您的DateFormat模式与您输入的dateString不匹配。您可以使用

new SimpleDateFormat("dd-MMM-yyyy")
万勇
2023-03-14

使用Groovy,您不需要includes,只需执行以下操作:

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
 类似资料:
  • 我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗? 已更新

  • 问题内容: 如果我有一个日期,而我想要的只是这样的月份和日期(mm / dd),然后把这个月份变成08年7月,您将如何写日期 问题答案: 让我看看我是否理解得很好。 您有“ 07/08”之类的日期,并且想要“ 08年7月”? 您可以尝试SimpleDateFormat

  • 我有一个变量在一个类在测试情况下,我需要嘲笑它。我尝试过这样 但事实的确如此 giving me无法将给定对象格式化为日期 在一台机器和另一台机器上 它给我的日期不能为空。 我是Junit新手,需要帮助解决这个问题

  • 问题内容: 这是我的日期字符串: “ 07SEP2014 00:00” 这是将字符串转换为日期的代码: 而且我正在解析异常。我做错了什么? 问题答案: 您的代码有效-只要您的系统具有SEP = September的语言环境。您可以设置区域设置来确保这一点:

  • 我有以下代码来解析和格式化日期: 其输出如下所示: 为什么PM打印机和AM一样?

  • 如何在Java中解析“Tue Jun 05 00:00:00 GMT 05:30 2012”文本到日期?我使用了“EEE-MMM-dd-HH:mm:ss-z-yyyy”格式,但不起作用。

  • 问题内容: 我想格式化为。我已经尝试了以下步骤。 但我低于例外。 我该怎么办? 问题答案: 在这里,这有效: 在您的第一个样式中删除多余的“ T” 第二种格式不正确,应为dd-MMM-yyyy。 看看SimpleDateFormat的Javadoc