我在尝试打印两个日期之间的给定时间段时遇到问题。
让我告诉你细节,然后我会放代码:
日期 a = 5 月 20 日,日期 b = 6 月 19 日
中间的时间应该是 30 天。(或 29,没关系)
但鉴于我拥有的代码,它说它只有 1 天。
你能帮我解决这个问题吗?我想要的是获得介于两者之间的整个期间:29 天。
谢谢。
public static void main(String args[]) {
Calendar calA = Calendar.getInstance();
calA.set(Calendar.MONTH, 5);
calA.set(Calendar.DAY_OF_MONTH, 20);
Calendar calB = Calendar.getInstance();
calB.set(Calendar.MONTH, 6);
calB.set(Calendar.DAY_OF_MONTH, 19);
DateTime da = new DateTime(calA.getTime());
DateTime db = new DateTime(calB.getTime());
Period p = new Period(da,db);
System.out.println(printPeriod(p));
}
private static String printPeriod(Period period) {
PeriodFormatter monthDaysHours = new PeriodFormatterBuilder()
.appendMonths()
.appendSuffix(" month"," months")
.appendSeparator(",")
.appendDays()
.appendSuffix(" day", " days")
.appendSeparator(",")
.appendHours()
.appendSuffix(" hour"," hours")
.toFormatter();
return monthDaysHours.print(period.normalizeStandardPeriodType());
}