JS獲取指定月份的天數(shù)兩種實(shí)現(xiàn)方法
最近看到一個(gè)有意思的試題,正好在需求中也碰到類似的問題,即計(jì)算某個(gè)月的天數(shù)問題。碰到類似問題也許大部分會(huì)想是不是還要判斷閏年、平年,如果這樣想的話就復(fù)雜了,下面給出具體的計(jì)算方法。
獲取月份天數(shù)方法一:
//傳入年份和月份 獲取該年對(duì)應(yīng)月份的天數(shù)
function getMonthDays(year,month){
var thisDate = new Date(year,month,0); //當(dāng)天數(shù)為0 js自動(dòng)處理為上一月的最后一天
return thisDate.getDate();
}
上面應(yīng)該時(shí)獲取月份天數(shù)最簡單的方法之一了,當(dāng)Date中參數(shù)超出范圍時(shí)js會(huì)自動(dòng)處理,如果傳值小于等于0,則日期將會(huì)向前推,否則日期將會(huì)向后推。下面時(shí)MDN原文,也提到了此現(xiàn)象:
Note: 當(dāng)Date作為構(gòu)造函數(shù)調(diào)用并傳入多個(gè)參數(shù)時(shí),如果數(shù)值大于合理范圍時(shí)(如月份為13或者分鐘數(shù)為70),相鄰的數(shù)值會(huì)被調(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),都表示時(shí)間2013-03-01T01:10:00。
下面給出幾個(gè)例子供參考:
1.參數(shù)傳入負(fù)數(shù)

2.傳入大于規(guī)定范圍的值


以上可看出,js本身對(duì)日期處理還是比較好的,同時(shí)開發(fā)人員也可以利用這一點(diǎn)獲取想要的結(jié)果。
獲取月份天數(shù)方法一:
下面就是比較正常的獲取方式了,代碼:
//根據(jù)兩個(gè)月份同一天的差值獲取,同樣是傳入需要獲取的對(duì)應(yīng)年份和月份
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ù)所求月份和下一個(gè)月份某一天的差值獲取對(duì)應(yīng)月份的天數(shù)。
總結(jié)
以上所述是小編給大家介紹的JS獲取指定月份的天數(shù)兩種方法,希望對(duì)大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- JS獲取月份最后天數(shù)、最大天數(shù)與某日周數(shù)的方法
- JS獲取月的最后一天與JS得到一個(gè)月份最大天數(shù)的實(shí)例代碼
- JavaScript實(shí)現(xiàn)日期格式化的方法匯總
- Javascript將字符串日期格式化為yyyy-mm-dd的方法
- Javascript日期格式化format函數(shù)的使用方法
- Javascript將JSON日期格式化
- AngularJS 日期格式化詳解
- javascript中Date format(js日期格式化)方法小結(jié)
- JavaScript之通過年月獲取月份的天數(shù)、日期格式化、時(shí)間、補(bǔ)零、Date、toLocaleString、Intl、DateTimeFormat、format(問題總結(jié))
相關(guān)文章
精通Javascript系列之?dāng)?shù)值計(jì)算
在JS中如果希望某個(gè)變量包含一個(gè)數(shù)值,那么無需限定其必須是整數(shù)或者是浮點(diǎn)數(shù),下面來個(gè)例子2011-06-06
JavaScript實(shí)現(xiàn)文字黑洞特效的代碼詳解
這篇文章介紹了用 JavaScript 和 HTML5 Canvas 實(shí)現(xiàn)文字黑洞特效的項(xiàng)目,包括項(xiàng)目特征,如黑洞特效、引力效果、文字動(dòng)畫和交互設(shè)計(jì),以及技術(shù)亮點(diǎn),還闡述了實(shí)現(xiàn)邏輯,涵蓋項(xiàng)目結(jié)構(gòu)、文字和黑洞對(duì)象的實(shí)現(xiàn)、動(dòng)畫循環(huán)等,并給出了詳細(xì)的代碼示例和解釋2025-03-03
layui radio單選限制下一個(gè)radio單選的實(shí)例
今天小編就為大家分享一篇layui radio單選限制下一個(gè)radio單選的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
一個(gè)不用onmouseup的拖動(dòng)函數(shù)
一個(gè)不用onmouseup的拖動(dòng)函數(shù)...2007-05-05

