首页 > 解决方案 > 在groovy中将字符串日期转换为日期格式时出现问题:

问题描述

我正在尝试将带有日期的字符串与当前日期进行比较,但是当我尝试将字符串解析为日期格式时,它总是给我一个错误。

给出问题的代码部分:

String data = "12-05-2020"
Date teste = Date.parse("dd-MM-yyy",data)

错误:

groovy.lang.MissingMethodException: No signature of method: static java.util.Date.parse() is applicable for argument types: (String, String) values: [dd-MM-yyy, 12-05-2020]
Possible solutions: parse(java.lang.String), wait(), clone(), grep(), any(), putAt(java.lang.String, java.lang.Object)
    at Script1.run(Script1.groovy:2)

这似乎是一件非常愚蠢的事情,所以,如果你能帮助我!非常感谢

标签: groovy

解决方案


从 Groovy 2.5(我认为)开始,标准的 Java Date 扩展并没有随 groovy-all jar 一起提供

如果必须使用它们,则需要包含另一个依赖项

org.codehaus.groovy:groovy-dateutil:«version»

«version»与您使用的 Groovy 版本相同)

删除它的原因是包中有新的(更好的)日期时间类java.time......

因此,您可以在其位置执行以下操作:

import java.time.LocalDate

String data = "12-05-2020"
LocalDate teste = LocalDate.parse(data, "dd-MM-yyyy")

不需要额外的库


推荐阅读