【问题标题】:grails 4 groovy's date enhancement methods missing缺少 grails 4 groovy 的日期增强方法
【发布时间】:2019-08-18 20:52:27
【问题描述】:

在之前的 grails 版本中,我可以使用 java.util.Date 的 groovy 增强版本,在 here 找到。

升级到 grails 4 后,所有这些方法都不会在 java.util.Date 上抛出方法签名。不知何故,这些时髦的添加并没有被采纳。

  def fdate=new Date();
  out << fdate.format("MM/dd/yyyy")
  //No signature of method: java.util.Date.format()

【问题讨论】:

  • 你的项目中有org.codehaus.groovy:groovy-dateutil吗?
  • 考虑不使用java.util.Date。该课程设计不良且早已过时。而是使用来自java.time, the modern Java date and time APILocalDateDateTimeFormatter

标签: grails groovy java.util.date grails-4


【解决方案1】:

groovy-dateutil 的依赖添加到您的build.gradle

runtime 'org.codehaus.groovy:groovy-dateutil'

相关的扩展方法定义在https://github.com/apache/groovy/blob/master/subprojects/groovy-dateutil/src/main/java/org/apache/groovy/dateutil/extensions/DateUtilExtensions.java#L526-L528,在groovy-dateutil库中。

【讨论】:

  • 为什么它被排除在标准 build.groovy 之外?这种方法会影响性能吗?
  • "为什么它被排除在标准 build.groovy 之外?" - 大多数应用程序不使用它,所以我们默认不添加它。 “这种方法会影响性能吗?” - 该库的存在本身不会影响性能,但如果不使用它,就没有理由随身携带它。
  • 浪费时间寻找这个...感谢您的解决方案。仍然不明白为什么它不是基本 Groovy 的一部分....相信我它很有用....对于“大多数应用程序不使用它”,您有什么数据?谢谢
  • "Wasted time hunting this down" - 我真的很抱歉。我们将其放在发行说明和文档中。 "what data do you have for the ..." - 该库专门用于操作和处理日期。许多应用程序不这样做。
  • "发行说明在哪里?" - Groovy 2.5 的发行说明可在groovy-lang.org/releasenotes/groovy-2.5.html 获得。 “我在文档中找不到提及这一点的地方。” - 在“重大更改”下的第一个项目符号中提到了它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
相关资源
最近更新 更多