programing

JavaScript에서 날짜에 월을 추가하는 방법

goodsources 2022. 10. 21. 23:01
반응형

JavaScript에서 날짜에 월을 추가하는 방법

JavaScript에서 날짜에 월을 추가하고 싶습니다.

예를 들어 다음과 같습니다.날짜를 삽입하고 있습니다.06/01/2011(형식mm/dd/yyyy이 날짜에 8개월을 추가하고 싶습니다.나는 그 결과를 원한다.02/01/2012.

따라서 월을 추가할 때 연도도 늘어날 수 있습니다.

2019년 6월 25일자로 수정:

var newDate = new Date(date.setMonth(date.getMonth()+8));

이전 버전:

var jan312009 = new Date(2009, 0, 31);
var eightMonthsFromJan312009  = jan312009.setMonth(jan312009.getMonth()+8);

날짜를 연도, 월 및 일 구성요소로 나눈 다음 날짜:

var d = new Date(year, month, day);
d.setMonth(d.getMonth() + 8);

다테가 한 해를 마무리할 것이다.

datejs를 보고 날짜를 처리하는 엣지 케이스에 월을 추가하는 데 필요한 코드를 제거했습니다(윤년, 월 단축 등).

Date.isLeapYear = function (year) { 
    return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)); 
};

Date.getDaysInMonth = function (year, month) {
    return [31, (Date.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
};

Date.prototype.isLeapYear = function () { 
    return Date.isLeapYear(this.getFullYear()); 
};

Date.prototype.getDaysInMonth = function () { 
    return Date.getDaysInMonth(this.getFullYear(), this.getMonth());
};

Date.prototype.addMonths = function (value) {
    var n = this.getDate();
    this.setDate(1);
    this.setMonth(this.getMonth() + value);
    this.setDate(Math.min(n, this.getDaysInMonth()));
    return this;
};

이것에 의해, 엣지 케이스를 처리하는 Javascript 날짜 오브젝트에 「add Months()」함수가 추가됩니다.쿨라이트 주식회사 덕분이에요!

용도:

var myDate = new Date("01/31/2012");
var result1 = myDate.addMonths(1);

var myDate2 = new Date("01/31/2011");
var result2 = myDate2.addMonths(1);

-> new Date.add Months -> mydate.add Months

result 1 = "2012년 2월 29일"

result2 = "2011년 2월 28일"

datejs를 보는 것을 강력히 추천합니다.api를 사용하면 한 달(및 다른 많은 날짜 기능)을 쉽게 추가할 수 있습니다.

var one_month_from_your_date = your_date_object.add(1).month();

의 좋은 점datejs엣지 케이스를 처리한다는 것입니다.기술적으로는 네이티브를 사용하여 이 작업을 수행할 수 있습니다.Date오브젝트 및 메서드가 첨부되어 있습니다.하지만 결국 가장자리에 있는 케이스에서 머리카락을 뽑게 되죠datejs널 돌봐주었어

게다가 오픈 소스입니다!

언급URL : https://stackoverflow.com/questions/5645058/how-to-add-months-to-a-date-in-javascript

반응형