Joda时间十进制转换和舍入

时间:2015-04-04 02:52:35

标签: time jodatime

Joda time中是否有办法在两天之间的差异(期间) 可以四舍五入(向上或向下)到最近的一天。

例如:7天15小时应该四舍五入到8天,而7天和8小时应该四舍五入到7天。

我试过调查PeriodFormatterBuilder,但它有一些方法可以返回小时但没有任何东西可以整理(如ceil或floor)。

1 个答案:

答案 0 :(得分:0)

据我所知,Jodatime没有针对你案件的方法。

我写了这样的东西,希望对你有帮助;

public static void main(String[] args) {
        getDiffer(new DateTime().plusDays(2), new DateTime().plusDays(4).plusHours(13));
        getDiffer(new DateTime().plusDays(2), new DateTime().plusDays(4).plusHours(8));
    }

private static void getDiffer(DateTime date1, DateTime date2) {
    Period p = new Period(date1, date2);
    int days = p.getDays();
    int hours = p.getHours();
    if (hours < 12)
        System.out.println("Days = " + days);
    else
        System.out.println("Days = " + (days + 1));
}

结果是;

Days = 3
Days = 2