>  기사  >  백엔드 개발  >  JavaScript에서 날짜에 월을 정확하게 추가하는 방법은 무엇입니까?

JavaScript에서 날짜에 월을 정확하게 추가하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-28 09:44:29183검색

How to Accurately Add Months to a Date in JavaScript?

JavaScript에서 날짜에 월 추가

이 스레드에서 개발자는 사용자가 제공한 종료 날짜에 2개월을 추가하는 데 도움을 구합니다.

이를 달성하려면 addMonths()라는 사용자 정의 함수를 사용하는 것이 좋습니다.

<code class="js">function addMonths(dateObj, num) {
  return dateObj.setMonth(dateObj.getMonth() + num);
}</code>

그러나 이 간단한 접근 방식에는 한계가 있습니다. 예를 들어 7월 31일에 한 달을 추가하면 9월 30일이 아닌 10월 1일이 됩니다. 이 문제를 해결하기 위해 보다 미묘한 기능을 사용할 수 있습니다.

<code class="js">function addMonths(dateObj, num) {
  var currentMonth = dateObj.getMonth() + dateObj.getFullYear() * 12;
  dateObj.setMonth(dateObj.getMonth() + num);
  var diff = dateObj.getMonth() + dateObj.getFullYear() * 12 - currentMonth;

  if (diff != num) {
    dateObj.setDate(0);
  }

  return dateObj;
}</code>

이 기능은 수정된 달이 올바르지 않은 경우 날짜를 이전 달의 마지막 날로 재설정하여 월말 규칙을 유지합니다. .

보다 간단한 대안으로 간소화된 월 롤오버 확인 기능을 사용할 수 있습니다.

<code class="js">function addMonths(date, months) {
  var d = date.getDate();
  date.setMonth(date.getMonth() + +months);
  if (date.getDate() != d) {
    date.setDate(0);
  }
  return date;
}</code>

이 접근 방식은 월말 동작이 유지되는 동안에도 보장됩니다. 단순화된 구현을 제공합니다.

위 내용은 JavaScript에서 날짜에 월을 정확하게 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.