gpt4 book ai didi

java - 乔达 : how to get months and days between two dates

转载 作者:太空狗 更新时间:2023-10-29 16:33:38 29 4
gpt4 key购买 nike

我想我在这里遗漏了一些微妙之处,因为我正在阅读的所有内容都表明这应该有效。我需要在 Android 中获取两个日期之间的月份和日期。也就是说,有多少整月加上任何额外的天数。我需要它作为数字输出,而不是打印的字符串。这是我正在做的,使用 Joda:

void method(DateTime begin, DateTime end) {
Period period = Period period = new Period(begin, end);
final int months = period.getMonths();
final int additionalDays = period.getDays();

问题是 additionalDays 始终为零。例如,2015 年 7 月 1 日到 2015 年 11 月 29 日应该是 4 个月零 29 天,但我得到的是 4 个月零天。

最佳答案

来自documentation如果不受支持,Period.getDays() 将返回 0。我不确定为什么会不受支持,但我想提供一种不同的方法:使用 DaysMonths 类及其 monthsBetween()daysBetween() 方法。请注意,您还必须减去两者之间的月份:

// Get months
int months = Months.monthsBetween(begin, end).getMonths();
// Subtract this number of months from the end date so we can calculate days
DateTime newEnd = end.minusMonths(months);
// Get days
int days = Days.daysBetween(begin, newEnd).getDays();

如果您不在中间执行此减法,您​​将得到不正确的结果,因为您将得到所有 天。

关于java - 乔达 : how to get months and days between two dates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33614185/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com