Joda时间,期间到总millis

Dro*_*iss 22 java jodatime

我试图从Period对象实例中获取Milliseconds(而不是 millis字段)的总量.我尝试过多次转换,因为我找不到任何方法可以轻松实现.

有没有人需要它并设法检索它?

(我需要这个补丁,找出一个负期;负毫秒=负期.)

ska*_*man 16

你不能直接从a获得millis Period,因为像月和年的字段在毫秒方面是可变的.

为了使这项工作,你需要提供一个"基线"瞬间,从中Period可以计算出实际的毫秒持续时间.

例如,Period.toDurationFromPeriod.toDurationTo方法采用这样的基线瞬间,并计算一个Duration对象,然后可以获得毫秒数.

的JavadoctoDurationFrom说:

获取此时间段相对于开始时刻的总毫秒持续时间.此方法将周期添加到指定的时刻以计算持续时间.

必须提供瞬间,因为周期的持续时间会有所不同.例如,由于长度不同的月份,1个月的时间段可以在相当于28到31天(以毫秒为单位)之间变化.同样,每天可以在夏令时切换时变化,通常在23到25小时之间.

因此,您需要为您的应用选择合适的基线时刻.

  • 在我的joda时间版本(2.3)中,似乎是:`toStandardDuration().getMillis()` (8认同)
  • `toStandardDuration().toMillis()`是一个很好的近似,如果你不期望任何古怪. (6认同)