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