使用Groovy / Grails中的特定区域设置调用TimeCategory

时间:2015-03-06 15:29:53

标签: grails groovy

我试图从Groovy中使用TimeCategory中受益,虽然它是一个整洁的类,但似乎使用的语言环境仍然是英语。

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

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

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

输出持续时间类似于:1822天,16小时,3分钟......坚持英语

1 个答案:

答案 0 :(得分:1)

看起来你正在groovy.time.TimeDuration对象上调用.toString()

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

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

您可以在此处查看来源:

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