2

我在 JodaTime 的 Period 课程中遇到了一个奇怪的问题。我已经实例化了一个 Period 对象,它被打印为:PT8M19.966S,它清楚地表示 8 分 19 秒(此时这是正确的),我调用 Period.toMillis。我得到的结果是一些随机数,例如 968 或 152,这些数字显然不是这个方法应该返回的。所以我想知道这是否是某种错误,或者是我这边的误用。

4

2 回答 2

7

你的意思是getMillis()?javadoc 说它只返回周期的毫秒部分,而不是周期的持续时间(以毫秒为单位)。

于 2012-03-07T15:04:21.013 回答
1

正如上面 Louis 所建议的,您应该先转换PeriodDuration,然后再获取它的毫秒数:

long millis = period.toStandardDuration().getMillis();

主要原因是它ReadablePeriod不确切知道它内部有多少毫秒,直到你将它应用到日历上。例如,一个月有多少毫秒?在将此月应用于日历之前,我们无法得到答案。

于 2013-01-11T16:14:17.367 回答