JS獲取月份最后天數(shù)、最大天數(shù)與某日周數(shù)的方法
本文實(shí)例講述了JS獲取月份最后天數(shù)、最大天數(shù)與某日周數(shù)的方法。分享給大家供大家參考,具體如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>標(biāo)題頁(yè)</title>
<script language="javascript">
function getLastDay(year,month)
{
var new_year = year; //取當(dāng)前的年份
var new_month = month++;//取下一個(gè)月的第一天,方便計(jì)算(最后一天不固定)
if(month>12) //如果當(dāng)前大于12月,則年份轉(zhuǎn)到下一年
{
new_month -=12; //月份減
new_year++; //年份增
}
var newnew_date = new Date(new_year,new_month,1);//取當(dāng)年當(dāng)月中的第一天
return (new Date(new_date.getTime()-1000*60*60*24)).getDate();//獲取當(dāng)月最后一天日期
}
</script>
<body>
<input id="Button1" type="button" value="取2007年5月的最后一天" onClick="alert(getLastDay(2007,5))" />
</body>
</html>
js得到一個(gè)月最大天數(shù)
JS里 面的new Date("xxxx/xx/xx")這個(gè)日期的構(gòu)造方法有一個(gè)妙處,
當(dāng)你傳入的是"xxxx/xx/0"(0號(hào))的話,得到的日期是"xx"月的前一個(gè) 月的最后一天("xx"月的最大取值是69,題外話),
當(dāng)你傳入的是"xxxx/xx/1"(1號(hào))的話,得到的日期是"xx"月的后一個(gè) 月的第一天(自己理解)
如果傳入"1999/13/0",會(huì)得到"1998/12/31"。而且最大的好處是當(dāng)你傳入"xxxx/3/0",會(huì)得到xxxx年2月的最后一天,它會(huì)自動(dòng)判斷當(dāng)年是否是閏年來(lái)返回28或29,不用自己判斷,
所以,我們想得到選擇年選擇月有多少天的話,只需要
var temp=new Date("選擇年/選擇月+1/0");
return temp.getDate()//最大天數(shù)
校驗(yàn)的話,也可以用這個(gè)方法。
下面是使用JS編寫(xiě)的獲取某年某月有多少天的getDaysInMonth(year, month)方法:
function getDaysInMonth(year,month){
month = parseInt(month,10)+1;
var temp = new Date(year+"/"+month+"/0");
return temp.getDate();
}
js 獲取某年的某天是第幾周
/**
* 判斷年份是否為潤(rùn)年
*
* @param {Number} year
*/
function isLeapYear(year) {
return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
}
/**
* 獲取某一年份的某一月份的天數(shù)
*
* @param {Number} year
* @param {Number} month
*/
function getMonthDays(year, month) {
return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] || (isLeapYear(year) ? 29 : 28);
}
/**
* 獲取某年的某天是第幾周
* @param {Number} y
* @param {Number} m
* @param {Number} d
* @returns {Number}
*/
function getWeekNumber(y, m, d) {
var now = new Date(y, m - 1, d),
year = now.getFullYear(),
month = now.getMonth(),
days = now.getDate();
//那一天是那一年中的第多少天
for (var i = 0; i < month; i++) {
days += getMonthDays(year, i);
}
//那一年第一天是星期幾
var yearFirstDay = new Date(year, 0, 1).getDay() || 7;
var week = null;
if (yearFirstDay == 1) {
week = Math.ceil(days / yearFirstDay);
} else {
days -= (7 - yearFirstDay + 1);
week = Math.ceil(days / 7) + 1;
}
return week;
}
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS獲取指定月份的天數(shù)兩種實(shí)現(xiàn)方法
- 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之通過(guò)年月獲取月份的天數(shù)、日期格式化、時(shí)間、補(bǔ)零、Date、toLocaleString、Intl、DateTimeFormat、format(問(wèn)題總結(jié))
相關(guān)文章
layui文件上傳控件帶更改后數(shù)據(jù)傳值的方法
今天小編就為大家分享一篇layui文件上傳控件帶更改后數(shù)據(jù)傳值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
微信小程序module.exports模塊化操作實(shí)例淺析
這篇文章主要介紹了微信小程序module.exports模塊化操作,結(jié)合實(shí)例形式簡(jiǎn)單分析了module.exports模塊化的定義與引用相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12
4種JavaScript實(shí)現(xiàn)簡(jiǎn)單tab選項(xiàng)卡切換的方法
這篇文章主要介紹了4種JavaScript實(shí)現(xiàn)簡(jiǎn)單tab選項(xiàng)卡切換的方法,感興趣的小伙伴們可以參考一下2016-01-01
初學(xué)js插入節(jié)點(diǎn)appendChild insertBefore使用方法
由于可見(jiàn)insertBefore()方法的特性是在已有的子節(jié)點(diǎn)前面插入新的節(jié)點(diǎn)但是兩種情況結(jié)合起來(lái)發(fā)現(xiàn)insertBefore()方法插入節(jié)點(diǎn),是可以在子節(jié)點(diǎn)列表的任意位置。2011-07-07
javascript顯式類型轉(zhuǎn)換實(shí)例分析
這篇文章主要介紹了javascript顯式類型轉(zhuǎn)換,實(shí)例分析了javascript實(shí)現(xiàn)類型轉(zhuǎn)換的常用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
js實(shí)現(xiàn)購(gòu)物車計(jì)算的方法
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)購(gòu)物車的計(jì)算方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
event對(duì)象獲取方法總結(jié)在google瀏覽器下測(cè)試
Event 對(duì)象代表事件的狀態(tài),比如事件在其中發(fā)生的元素、鍵盤按鍵的狀態(tài)、鼠標(biāo)的位置、鼠標(biāo)按鈕的狀態(tài),Event對(duì)象的獲取方法如下,感興趣的朋友可以參考下2013-11-11
純js三維數(shù)組實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了純js三維數(shù)組實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
微信小程序引入map組件并在地圖上標(biāo)點(diǎn)的實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序引入map組件并在地圖上標(biāo)點(diǎn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10

