JS獲取指定月份的天數(shù)兩種實現(xiàn)方法
最近看到一個有意思的試題,正好在需求中也碰到類似的問題,即計算某個月的天數(shù)問題。碰到類似問題也許大部分會想是不是還要判斷閏年、平年,如果這樣想的話就復雜了,下面給出具體的計算方法。
獲取月份天數(shù)方法一:
//傳入年份和月份 獲取該年對應月份的天數(shù) function getMonthDays(year,month){ var thisDate = new Date(year,month,0); //當天數(shù)為0 js自動處理為上一月的最后一天 return thisDate.getDate(); }
上面應該時獲取月份天數(shù)最簡單的方法之一了,當Date中參數(shù)超出范圍時js會自動處理,如果傳值小于等于0,則日期將會向前推,否則日期將會向后推。下面時MDN原文,也提到了此現(xiàn)象:
Note: 當Date作為構造函數(shù)調(diào)用并傳入多個參數(shù)時,如果數(shù)值大于合理范圍時(如月份為13或者分鐘數(shù)為70),相鄰的數(shù)值會被調(diào)整。比如 new Date(2013, 13, 1)等于new Date(2014, 1, 1),它們都表示日期2014-02-01(注意月份是從0開始的)。其他數(shù)值也是類似,new Date(2013, 2, 1, 0, 70)等于new Date(2013, 2, 1, 1, 10),都表示時間2013-03-01T01:10:00。
下面給出幾個例子供參考:
1.參數(shù)傳入負數(shù)
2.傳入大于規(guī)定范圍的值
以上可看出,js本身對日期處理還是比較好的,同時開發(fā)人員也可以利用這一點獲取想要的結果。
獲取月份天數(shù)方法一:
下面就是比較正常的獲取方式了,代碼:
//根據(jù)兩個月份同一天的差值獲取,同樣是傳入需要獲取的對應年份和月份 function getMonthDays(year,month){ var stratDate = new Date(year,month-1,1), endData = new Date(year,month,1); var days = (endData -stratDate)/(1000*60*60*24); return days; }
第二種方式則是根據(jù)所求月份和下一個月份某一天的差值獲取對應月份的天數(shù)。
總結
以上所述是小編給大家介紹的JS獲取指定月份的天數(shù)兩種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- JS獲取月份最后天數(shù)、最大天數(shù)與某日周數(shù)的方法
- JS獲取月的最后一天與JS得到一個月份最大天數(shù)的實例代碼
- JavaScript實現(xiàn)日期格式化的方法匯總
- Javascript將字符串日期格式化為yyyy-mm-dd的方法
- Javascript日期格式化format函數(shù)的使用方法
- Javascript將JSON日期格式化
- AngularJS 日期格式化詳解
- javascript中Date format(js日期格式化)方法小結
- JavaScript之通過年月獲取月份的天數(shù)、日期格式化、時間、補零、Date、toLocaleString、Intl、DateTimeFormat、format(問題總結)
相關文章
webpack5新特性Asset?Modules資源模塊詳解
這篇文章主要為大家介紹了webpack5新特性Asset?Modules資源模塊詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03在IE中調(diào)用javascript打開Excel的代碼(downmoon原作)
在IE中調(diào)用javascript打開Excel的代碼(downmoon原作)...2007-04-04JavaScript中Object.values()的用法舉例
這篇文章主要給大家介紹了關于JavaScript中Object.values()的用法舉例,Object.values()是JavaScript中一個內(nèi)置的靜態(tài)函數(shù),用于返回一個對象中所有屬性值的數(shù)組,需要的朋友可以參考下2023-09-09