[ JavaScript] 一ヶ月後(nヵ月後)を取得する関数
カテゴリー: Webお役立ち情報
最終更新日: 2017-04-20
投稿日: 2017-04-20
タイトルのものが欲しくて探したら以下のページにズバリの回答が複数あったのですが、出来れば「2017/2/1」だと「2017/2/28」のように月末を取得して、「2017/2/13」だと「2017/3/12」のように3/13ではなく前日を取れるようにしたかったので変更を少し加えてみました。
Date.prototype.addMonth = function( m ) { var d = new Date( this ); var dates = d.getDate(); var years = Math.floor( m / 12 ); var months = m - ( years * 12 ); if( years ) d.setFullYear( d.getFullYear() + years ); if( months ) d.setMonth( d.getMonth() + months ); if( dates == 1 ) { d.setDate( 0 ); } else { d.setDate( d.getDate() - 1 ); } return d; }
使い方はこんな感じです。
var d = new Date( '2017-04-20' ); var m = d.addMonth( 1 ); console.log( m ); // Fri May 19 2017 09:00:00 GMT+0900 var d = new Date( '2017-04-01' ); var m = d.addMonth( 1 ); console.log( m ); // Sun Apr 30 2017 09:00:00 GMT+0900
- タグ
- javascript, ヵ月後, 取得, 関数
- トラックバックURL