2 つの DateTime インスタントから作成した JodaTime 期間があります。その期間を 10 進数の時間数に変換する良い方法はありますか?
たとえば、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);
ピリオドを一緒に追加し始めると厄介なことは言うまでもなく、この種のハックのように感じます。もっと良い方法があるはずです。
何か案は?ありがとう