如何使用 Jodatime 转换年、月、日中的天数?
How to convert Days in Year(s), Month(s), and Day(s) with Jodatime?
如何使用 Jodatime 转换年、月、日中的天数?
例如:
天 = 365;
应该打印 = 1 年、0 月和 0 天
Days days = Days.days(365);
Period p1 = new Period(days);
PeriodFormatter dhm = new PeriodFormatterBuilder()
.appendDays().appendSuffix(" days", " Dias").appendSeparator(", ")
.appendMonths().appendSuffix(" months", " Meses").appendSeparator(", e ")
.appendYears().appendSuffix(" years", " Anos").toFormatter();
System.out.println(dhm.print(p1.normalizedStandard()));
输出控制台:
1 day(s)
我也试过用
打印
period.getYears() + " Ano(s), "
+ period.getMonths() + " Mes(es), "
+ period.getDays() + " Dia(s)"
基本没有这个概念。毕竟,365 天不是 1 年,如果你从闰年开始。
你可以做的是取一些"base"日期,加上你的天数周期,然后从year/month/day开始结果:
Period convertToYearMonthDay(Period period, LocalDate referenceDate) {
LocalDate endDate = referenceDate.plus(period);
return new Period(referenceDate, endDate, PeriodType.yearMonthDay());
}
您的 当前 输出的原因是 normalizedStandard
正在标准化为“52 周零 1 天”。
如何使用 Jodatime 转换年、月、日中的天数?
例如:
天 = 365; 应该打印 = 1 年、0 月和 0 天
Days days = Days.days(365);
Period p1 = new Period(days);
PeriodFormatter dhm = new PeriodFormatterBuilder()
.appendDays().appendSuffix(" days", " Dias").appendSeparator(", ")
.appendMonths().appendSuffix(" months", " Meses").appendSeparator(", e ")
.appendYears().appendSuffix(" years", " Anos").toFormatter();
System.out.println(dhm.print(p1.normalizedStandard()));
输出控制台:
1 day(s)
我也试过用
打印period.getYears() + " Ano(s), "
+ period.getMonths() + " Mes(es), "
+ period.getDays() + " Dia(s)"
基本没有这个概念。毕竟,365 天不是 1 年,如果你从闰年开始。
你可以做的是取一些"base"日期,加上你的天数周期,然后从year/month/day开始结果:
Period convertToYearMonthDay(Period period, LocalDate referenceDate) {
LocalDate endDate = referenceDate.plus(period);
return new Period(referenceDate, endDate, PeriodType.yearMonthDay());
}
您的 当前 输出的原因是 normalizedStandard
正在标准化为“52 周零 1 天”。