JavaScript: 日付の加算・減算

JavaScript: で日付の計算をする時は、Dataオブジェクトを使うと便利です。 例えば、3ヶ月前、10日前、1年前の日付も簡単に取得できます。

3ヶ月前の日付を取得

DateオブジェクトのsetMonth()メソッドを使って取得します。

var dt = new Date();
console.log(dt.toLocaleDateString());   // 2017/5/8

// 3ヶ月前
dt.setMonth(dt.getMonth()-3)
console.log(dt.toLocaleDateString());    // 2017/2/8

3ヶ月後の日付を取得

先程とは逆に、-3を+3にすればいいだけです。

var dt = new Date();
console.log(dt.toLocaleDateString());   // 2017/5/8

// 3ヶ月後
dt.setMonth(dt.getMonth()+3)
console.log(dt.toLocaleDateString());    // 2017/8/8

10日前の日付を取得

DateオブジェクトのsetDate()メソッドを使って取得します。

var dt = new Date();
console.log(dt.toLocaleDateString());   // 2017/5/8

// 10日前
dt.setDate(dt.getDate()-10)
console.log(dt.toLocaleDateString());    // 2017/4/28

10日後の日付を取得

var dt = new Date();
console.log(dt.toLocaleDateString());   // 2017/5/8

// 10日後
dt.setDate(dt.getDate()+10)
console.log(dt.toLocaleDateString());    // 2017/5/18

1年前の日付を取得

DateオブジェクトのsetFullYear()メソッドを使って取得します。

var dt = new Date();
console.log(dt.toLocaleDateString());   // 2017/5/8

// 1年前
dt.setFullYear(dt.getFullYear()-1)
console.log(dt.toLocaleDateString());    // 2016/5/8

1年後の日付を取得

var dt = new Date();
console.log(dt.toLocaleDateString());   // 2017/5/8

// 1年後
dt.setFullYear(dt.getFullYear()+1)
console.log(dt.toLocaleDateString());    // 2018/5/8
JavaScript入門