将yyyyMM格式的字符串转换为groovy中的日期

将yyyyMM格式的字符串转换为groovy中的日期,groovy,Groovy,我有一个字符串,格式为yyyyym,我需要将其转换为MM/yyyyy格式的日期 示例:字符串为201710,需要转换为格式为10/2017的日期 有人能告诉我怎么做吗 谢谢没有特定格式的java.util.Date对象。日期格式,如yyyyym或MM/yyyyy只是将其表示为字符串的一种方式。如果您的输入是一个格式化为201710的字符串,并且您想将其格式化为10/2017,那么您必须从您的输入字符串(Date.parse()method)中创建一个java.util.Date对象,并对所创建的

我有一个
字符串
,格式为
yyyyym
,我需要将其转换为
MM/yyyyy
格式的日期

示例:字符串为
201710
,需要转换为格式为
10/2017
的日期

有人能告诉我怎么做吗


谢谢

没有特定格式的
java.util.Date
对象。日期格式,如
yyyyym
MM/yyyyy
只是将其表示为
字符串的一种方式。如果您的输入是一个格式化为
201710
的字符串,并且您想将其格式化为
10/2017
,那么您必须从您的输入字符串(
Date.parse()
method)中创建一个
java.util.Date
对象,并对所创建的对象调用
.format('MM/yyyy')
方法,例如

def formatted = Date.parse("yyyyMM", "201710").format("MM/yyyy")

我使用acalendar.setTime(格式化)将当前日期设置为格式化值(2017年10月),然后尝试使用int month=acalendar.get(Calendar.month)获取月份。这将返回一个错误“无法将类为“java.lang.String”的对象“10/2017”强制转换为类为“java.util.Date”。有没有办法将“格式化”转换为日期?下面的部分创建
java.util.Date
对象-
Date.parse(“yyyyMM”,“201710”)
。如果要将其传递给
Calendar.setTime()
,则不要对此对象调用
.format(“MM/yyyy”)
,因为此方法返回一个
字符串
。是的,它现在可以工作了。格式化日期=Date.parse(“yyyyMM”,“201710”)acalendar.setTime(格式化)谢谢Szymon!