获取某月有多少天
今天在开发的过程中,有个地方需要对传来的天数进行判断,是否是某个月的最大的值。当我还在伸出左手边的拳头数那个月是31天,哪些是30天的时候,突然发现LocalDate
中有个lengthOfMonth
这个方法, 自认为这个代码写的很精致。
public static void main(String[] args) {
LocalDate now = LocalDate.now();
int lengthOfMonth = now.lengthOfMonth();
System.out.println(lengthOfMonth);
}
可以输出:30天
来看看它是怎么实现的?
public int lengthOfMonth() {
switch (month) {
case 2:
return (isLeapYear() ? 29 : 28);
case 4:
case 6:
case 9:
case 11:
return 30;
default:
return 31;
}
}
通过传入的月份,可以对应到当月的最大天数,并且可以判断是否是闰年来确定2月是29天还是28天。