色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 每月月末

在日常開(kāi)發(fā)中,經(jīng)常會(huì)遇到需要獲取每月最后一天的情況。比如:我們?cè)谧鲐?cái)務(wù)系統(tǒng)時(shí),需要統(tǒng)計(jì)每月的收支情況,我們需要獲取每月的最后一天的日期。

那么,該如何使用javascript快速獲取每月月底的日期呢?

function getLastDayOfThisMonth() {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var nextMonth = month + 1;
var nextYear = year;
if (nextMonth >12) {
nextYear = year + 1;
nextMonth = 1;
}
var newDate = new Date(nextYear, nextMonth - 1, 1);
var lastDay = new Date(newDate.getTime() - 1000 * 60 * 60 * 24).getDate();
return lastDay;
}

以上是獲取當(dāng)前月份最后一天的代碼,下面我們來(lái)詳細(xì)解釋一下這段代碼實(shí)現(xiàn)的具體方法。

第一步,我們獲取當(dāng)前的日期信息。這里我們使用了new Date()函數(shù)來(lái)獲取當(dāng)前日期。

var now = new Date();

第二步,我們獲取當(dāng)前的年份和月份。

var year = now.getFullYear();
var month = now.getMonth() + 1;

注:這里需要注意,javascript中獲得的月份是從0開(kāi)始的,所以我們?cè)谳敵銮凹?,才能得到正確的月份。

第三步,我們獲取下一個(gè)月的年份和月份。

var nextMonth = month + 1;
var nextYear = year;
if (nextMonth >12) {
nextYear = year + 1;
nextMonth = 1;
}

這里判斷一下下一個(gè)月份是否已經(jīng)跨年,如果跨年,則需要將年份加1,月份重置為1。

第四步,我們將下一個(gè)月份的1號(hào)設(shè)置為新日期。

var newDate = new Date(nextYear, nextMonth - 1, 1);

注:第二個(gè)參數(shù)取值要減1,因?yàn)镴avascript的月份從0開(kāi)始,也就是說(shuō)0表示1月份,11表示12月份。

第五步,我們將新日期減去1天,即是當(dāng)前月份的最后一天。

var lastDay = new Date(newDate.getTime() - 1000 * 60 * 60 * 24).getDate();
return lastDay;

注:這里用getTime()獲取下一個(gè)月份的第一天的時(shí)間戳,然后減去一天的毫秒數(shù),得到當(dāng)前月份的最后一天日期信息。

以上代碼實(shí)現(xiàn)方法適用于所有主流瀏覽器,如果你需要更加詳細(xì)的支持,可以使用moment.js庫(kù)。

上面是獲取當(dāng)前月份的最后一天,如果我們需要獲取任意月份的最后一天,可以修改代碼。

function getLastDayOfThisMonth(year, month) {
var nextMonth = month + 1;
var nextYear = year;
if (nextMonth >12) {
nextYear = year + 1;
nextMonth = 1;
}
var newDate = new Date(nextYear, nextMonth - 1, 1);
var lastDay = new Date(newDate.getTime() - 1000 * 60 * 60 * 24).getDate();
return lastDay;
}

注:傳入年份和月份即可。

以上就是關(guān)于javascript每月月底的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助。