JAVA中获得一个月最大天数的方法(备忘)
Calendar 類是一個(gè)抽象類,為日歷字段之間的轉(zhuǎn)換提供了一些方法。
其中有一個(gè)重要方法 getActualMaximum ,該方法用于返回指定日歷字段實(shí)際的最大值。
利用這個(gè)方法(Calendar.getActualMaximum),我們可以獲得某年某月的天數(shù)。
?
代碼如下:
/*** 獲得某個(gè)月最大天數(shù)* * @param year 年份* @param month 月份 (1-12)* @return 某個(gè)月最大天數(shù)*/public int getMaxDayByYearMonth(int year, int month) {Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR, year - 1);calendar.set(Calendar.MONTH, month);return calendar.getActualMaximum(Calendar.DATE);}?
備注:以上代碼有兩個(gè)需要注意的地方:
① Calendar除了getActualMaximum方法之外,還有一個(gè)看起來(lái)類似的方法getMaximum,但是這兩個(gè)方法是不同的:
getActualMaximum?返回實(shí)際的最大數(shù)值,getMaximum 返回的是可能的最大數(shù)值。
上面的代碼如果改成getMaximum,那么一般情況都會(huì)恒定的返回31 (月份中可能的最大天數(shù)是31)
②?Calendar?的月份取值范圍是?0?- 11?, 0代表1月 11代表12月份
(這是因?yàn)镴ava中的月份遵循了羅馬歷中的規(guī)則:當(dāng)時(shí)一年中的月份數(shù)量是不固定的,第一個(gè)月是JANUARY。而Java中Calendar.MONTH返回的數(shù)值其實(shí)是當(dāng)前月距離第一個(gè)月有多少個(gè)月份的數(shù)值,JANUARY在Java中返回“0”,所以我們操作月份的時(shí)候會(huì)根據(jù)需要做?+1?或 -1?的處理)
?
轉(zhuǎn)載于:https://www.cnblogs.com/relucent/p/4566582.html
總結(jié)
以上是生活随笔為你收集整理的JAVA中获得一个月最大天数的方法(备忘)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Qimage像素级操作
- 下一篇: 2022-2028全球气动测试探针行业调