JAVA中获得一个月最大天数的方法(备忘)
生活随笔
收集整理的這篇文章主要介紹了
JAVA中获得一个月最大天数的方法(备忘)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Calendar 類是一個抽象類,為日歷字段之間的轉換提供了一些方法。
其中有一個重要方法 getActualMaximum ,該方法用于返回指定日歷字段實際的最大值。
利用這個方法(Calendar.getActualMaximum),我們可以獲得某年某月的天數。
?
代碼如下:
/*** 獲得某個月最大天數* * @param year 年份* @param month 月份 (1-12)* @return 某個月最大天數*/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);}?
備注:以上代碼有兩個需要注意的地方:
① Calendar除了getActualMaximum方法之外,還有一個看起來類似的方法getMaximum,但是這兩個方法是不同的:
getActualMaximum?返回實際的最大數值,getMaximum 返回的是可能的最大數值。
上面的代碼如果改成getMaximum,那么一般情況都會恒定的返回31 (月份中可能的最大天數是31)
②?Calendar?的月份取值范圍是?0?- 11?, 0代表1月 11代表12月份
(這是因為Java中的月份遵循了羅馬歷中的規則:當時一年中的月份數量是不固定的,第一個月是JANUARY。而Java中Calendar.MONTH返回的數值其實是當前月距離第一個月有多少個月份的數值,JANUARY在Java中返回“0”,所以我們操作月份的時候會根據需要做?+1?或 -1?的處理)
?
轉載于:https://www.cnblogs.com/relucent/p/4566582.html
總結
以上是生活随笔為你收集整理的JAVA中获得一个月最大天数的方法(备忘)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qimage像素级操作
- 下一篇: 2022-2028全球气动测试探针行业调