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

1 java duration apache-commons

我有这个代码:

return DurationFormatUtils.formatDuration(2034430000000L, yyyy-MM-dd_HH:mm:ss.SSS)
Run Code Online (Sandbox Code Playgroud)

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

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

Ray*_*oal 5

因为文件说的如此:DurationFormatUtils.formatDuration().

来自文档:

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

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

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