我有一个从两个 DateTime 瞬间创建的 JodaTime Period。有没有一种好方法可以将该期间转换为十进制小时数?
例如,我有一个时段,从 2010 年 1 月 1 日下午 1 点到下午 1:30。我怎样才能将那个时段设为 1.5 小时。
在过去,我使用秒和 BigDecimals 手动转换,例如:
int seconds = myPeriod.toStandardSeconds().getSeconds();
BigDecimal d = new BigDecimal((double) seconds / 3600);
// Round to two decimals
BigDecimal correctResult = d.setScale(2, RoundingMode.HALF_DOWN);
这种感觉就像是一种 hack,更不用说当我开始将句点添加在一起时很尴尬。似乎应该有更好的方法。
有任何想法吗?谢谢