[Javascript] ○ヶ月後の日付を取得する方法

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

こんにちわ。
 

カレンダーを制するものは、時を司る・・・、ワケないよね〜。下駄です。
 

本日のIT謎掛け。
 

「date関数」とかけまして、
 

「スポーツの競技中に怪我をした場合」と、ときます。
 

そのココロは・・・
 

タイムをとります。

ネットで見かける日付操作の落とし穴

カレンダー機能を作っていた時に、次の月や前の月に、移動するボタンを設置する必要がでてきました。
 


 

そして、出来上がった関数は以下のようなプログラムです。
 

 

年と月と、移動する月数を”month_move()”という関数に送ると、結果の年と月が返ってくるという関数です。
 

 

正常に取得できますね。
 

+1dで翌月、-1で前月を取得でき、年またぎもうまくいっています。
 

もちろん、+1,-1以外にも、数ヶ月先にも対応できています。
 

ちょっとだけプログラム解説

javascriptには、phpの”strtotime”というような便利な関数は用意されていないので、今回のプログラムでは、”new Date()”関数で、日付オブジェクトを作って、その中で、数カ月後の月にセットをして、その日付オブジェクトから、年と月を取得しています。
 

さほど難しい要素はないのですが、2行目の、
 

 

ここで、日付オブジェクトを作成して、います。
 

ポイントは基準になる年月をセットする点ですね。
 

この値を入れないと、基準日が今現在になってしまいます。
 

そして、日は、月初の1日に固定しています。
 

次に、3行目の箇所が、月移動の処理です。
 

 

年またぎ処理は、内部で13月という値を渡すと、年も翌年に変換してくれるという、便利ポイントがあるので、非常にありがたい限りです。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です