在 Groovy /Grails 中使用特定语言环境调用 TimeCategory

Invoke TimeCategory with a specific Locale in Groovy /Grails

我正在尝试从 Groovy 中使用 TimeCategory 中获益,虽然它很简洁 class,但似乎要使用的语言环境停留在英语。

文档说 Duration class(TimeCategory 的父级)将 获取默认语言环境和给定日期的 DST 偏移量(如果有)1

虽然我在程序的执行过程中改变了语言环境,但结果没有任何变化。 任何提示或想法如何做到这一点?

use(groovy.time.TimeCategory) {
          expirationDate = creationDate + 5.years
          duration = expirationDate - new Date() 
}

输出持续时间类似于:1822 天,16 小时,3 分钟...卡在英文中

您似乎在 groovy.time.TimeDuration 对象上调用 .toString()

文档没有提及任何有关语言环境支持的内容。

toString 方法似乎是作为一种方便的方法创建的,仅供调试时使用。

你可以在这里看到来源:

https://github.com/groovy/groovy-core/blob/0b2182bff2250150e69ccb988f367e709b4560de/src/main/groovy/time/BaseDuration.java