今天使用 Calendar.getActualMaximum(Calendar.DAY_OF_MONTH) 获取指定月份天数的时候一直取出来的是 31
不管月份如何切换,都不变。很纳闷................
然后猜想,今天是31号,是否跟这个有关系呢??
实践:把日改为 1
Calendar calendar = Calendar.getInstance();
int year = 1911;
int month = 11;
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, 1);
int count = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
结果非常完美,获取正常了,原理忙着开发,暂时没空管了..........
mark一下,以后查一下为毛当前日期是31号的时候会出现这个问题,猜想是因为别的月份不一定有31号有待验证!!

本文记录了一次使用Calendar类获取指定月份天数时遇到的Bug,无论月份如何变化,getActualMaximum总是返回31天。通过将日期设置为每月的第一天,成功解决了这一问题。

2748

被折叠的 条评论
为什么被折叠?



