为什么DurationFormatUtils会忽略年份的格式?

时间:2012-10-02 07:47:52

标签: java apache-commons duration

我有这段代码:

return DurationFormatUtils.formatDuration(2034430000000L, yyyy-MM-dd_HH:mm:ss.SSS)

结果是:0000-00-23546_15:26:40.000

为什么年和日都是0,这么多天?

1 个答案:

答案 0 :(得分:5)

因为文档是这样说的:DurationFormatUtils.formatDuration()

来自文档:

  

此方法使用格式模式的天数和较低字段格式化持续时间。不使用月份和更大。

原因是当你谈论持续时间时,一个月有多长?一年多久了?一个月是一个可变的天数,也就是一年。现在,如果这些持续时间被锚定,那么可以有意义;在这些情况下,这些是Joda-Time所称的时期。

但总的来说,持续时间只有几毫秒,所以几个月和几年真的没有意义。