我有以下代码:

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


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

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

最佳答案

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

从文档:


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


原因是当您谈论工期时,一个月要多长时间?一年多久?一个月和一年一样是可变的天数。现在,如果将这些持续时间固定下来,那么这样的事情就很有意义了。在这些情况下,这些就是Joda-Time所称的时期。

但是总的来说,持续时间只是几毫秒,因此数月和数年确实没有意义。

09-25 21:53