在没有负数的字符串中显示当前时间段

时间:2015-07-10 21:36:59

标签: java jodatime

在基于joda-time的项目中,我试图以可读格式向用户显示2个日期之间的时间段。 没有负值,我没有成功检索这个时期。以下代码片段显示了该问题:

LocalDateTime firstTime = new LocalDateTime( 2014, 10, 15, 4, 42 );
LocalDateTime secondTime = new LocalDateTime( 2014, 12, 3, 5, 5 );

Period period = Period.fieldDifference(firstTime, secondTime).normalizedStandard();

period.toString()的输出是:

P2M-1W-4DT-23H-37M

我正在寻找最佳方法来获得以下格式的句子:

P1M3W等而非负值?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

将Period.fieldDifference替换为新的Period。 试试这个:

public static void main(String[] args) {
    LocalDateTime firstTime = new LocalDateTime(2014, 10, 15, 4, 42);
    LocalDateTime secondTime = new LocalDateTime(2014, 12, 3, 5, 5);

    System.out.println("period Type: "+Period.fieldDifference(firstTime, secondTime).getPeriodType());
    Period period = new Period(firstTime, secondTime).normalizedStandard();
    System.out.println(period);
}