ホームページ >バックエンド開発 >PHPチュートリアル >JavaScript で日付に月を正確に加算するにはどうすればよいですか?
<code class="js">function addMonths(dateObj, num) { return dateObj.setMonth(dateObj.getMonth() + num); }</code>ただし、この単純なアプローチには限界があります。たとえば、7 月 31 日に 1 か月追加すると、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 中国語 Web サイトの他の関連記事を参照してください。