Published on

nヶ月前の日付をjavascriptで取得する方法

Authors
  • avatar
    Name
    ssu
    Twitter

javascriptで今からnヶ月前の日付を取得する際の方法を紹介します。

例えば、ブログの更新日が今から3ヶ月前以内に書かれたかどうかを判断したいとします。

var blog = {id: 111, title: 'javascriptいいよねー', createdAt: new Date('2021-08-01')} var now = new Date(); var datet3MonthBeforeFromNow = now.setMonth(now.getMonth() - 3); if (blog.createdAt >= threeMonthBefore) { console.log("3ヶ月以内に書かれたブログです") } else { console.log("3ヶ月以上前に書かれたブログです") }

ここでのポイントはnow.setMonth(now.getMonth() - 3)です。 nowで現在の日付を取得して、now.setMonth(now.getMonth() - 3)で3ヶ月前の日付を持ってきています。

var now = new Date(); //変更される前は '2021-09-09T10:19:39.261Z' var datet3MonthBeforeFromNow = now.setMonth(now.getMonth() - 3); //setMonthを使うのでこれは破壊的になるので、nowを使うときは注意 console.log(new Date(threeMonthBefore).toISOString()) // '2021-06-09T10:19:39.261Z'

参考: How do I calculate the date in JavaScript three months prior to today?