在基于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
等而非负值?
感谢您的帮助。
答案 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);
}