gpt4 book ai didi

java - 如何计算上个月的天数?

转载 作者:行者123 更新时间:2023-11-29 07:01:22 26 4
gpt4 key购买 nike

我想检索上个月的天数。我可以通过

获取当月的天数
    Calendar calendar = Calendar.getInstance();
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1);
int currentMonthDaysCount = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(currentMonthDaysCount);

因此,我尝试获取上个月的天数作为

    Calendar calendar = Calendar.getInstance();
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH - 1), 1);
int previousMonthDaysCount = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(previousMonthDaysCount);

我的控制台得到了 30。我错了什么?这个月是 8 月,而上个月的 7 月 应该会产生 31

最佳答案

您正在从 Calendar 常量中减去,而不是从您从该常量获得的值中减去。

改变:

calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH - 1), 1);

与:

calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) - 1, 1);

更简单的解决方案:

calendar.roll(Calendar.MONTH, false);

... 将“向下滚动”一个月。

关于java - 如何计算上个月的天数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25504551/

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