js自然年月的加減函數(shù)

varTimeUtils = ({

getOffsetYear: function (beginDate, XYear) {

return this.getOffsetMonth(beginDate, XYear * 12);

},

getOffsetMonth: function (beginDate, XMonth) {

var matrix = beginDate.substr(0, 10).split("-");

var year = matrix[0] * 1;

var month = matrix[1] * 1;

var day = matrix[2] * 1;

var newMonth = month + XMonth;

if (newMonth > 12 || newMonth < 1) {

year += newMonth / 12;

newMonth = newMonth % 12;

if (newMonth === 0) {

year--;

newMonth = 12;

}

}

var newDay = day;

if ((newDay > this.getLastDayOfMonth(year, newMonth)) || (day === this.getLastDayOfMonth(year, month) )) {

newDay = this.getLastDayOfMonth(year, newMonth);

}

var date = new Date(year, newMonth - 1, newDay);

return date.format("yyyy-MM-dd");

},

getEndXYear: function (beginDate, XYear) {

return this.getEndXMonth(beginDate, XYear * 12);

},

getEndXMonth: function (beginDate, XMonth) {

var matrix = beginDate.substr(0, 10).split("-");

var year = matrix[0] * 1;

var month = matrix[1] * 1;

var day = matrix[2] * 1;

var newMonth = month + XMonth;

if (newMonth > 12 || newMonth < 1) {

year += newMonth / 12;

newMonth = newMonth % 12;

if (newMonth === 0) {

year--;

newMonth = 12;

}

}

var newDay = day - 1;

if (newDay > this.getLastDayOfMonth(year, newMonth)) {

newDay = this.getLastDayOfMonth(year, newMonth);

}

var date = new Date(year, newMonth - 1, newDay);

return date.format("yyyy-MM-dd");

},

getLastDayOfMonth: function (year, month) {

year = year * 1;

month = month * 1;

//大月

var day = 31;

//小月

if (month === 4 || month === 6 || month === 9 || month === 11) {

day = 30

}

//2月

else if (month === 2) {

if (((year % 4) === 0) && ((year % 100) !== 0) || ((year % 400) === 0)) {

day = 29

} else {

day = 28

}

}

return day;

},

//判斷是否為閏年

isLeapYear: function (year) {

year = year * 1;

if (((year % 4) === 0) && ((year % 100) !== 0) || ((year % 400) === 0)) {

return (true);

} else {

return (false);

}

},

})

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • var regexEnum = { intege : "^-?[1-9]\\d*$", // 整數(shù) intege1...
    a_foo閱讀 1,299評論 0 4
  • 不支持上傳文件,所以就復(fù)制過來了。作者信息什么的都沒刪。對前端基本屬于一竅不通,所以沒有任何修改,反正用著沒問題就...
    全棧在路上閱讀 2,070評論 0 2
  • [Js獲取當(dāng)前日期時間及其它操作] 日期時間腳本庫方法列表 js代碼://--------------------...
    JS_swh閱讀 553評論 0 3
  • 今天看到一個公式:自律+堅持=牛B,剛開始覺得這公式太牛了,簡直是真理,后來發(fā)現(xiàn)要有個前提,就是得在真心想做的一件...
    ymmstory閱讀 470評論 0 0
  • 熱:大爐夏火升天旺, 輻射身心見白光。 若把蛋朝陽下放, 瞬間蒸煮變熟黃。
    寒梅熱血閱讀 117評論 0 0

友情鏈接更多精彩內(nèi)容