カテゴリ: JavaScript 更新日: 2025/12/25

JavaScriptで日時を加算・減算する方法!setDateやsetMonthで簡単に操作

JavaScriptの日時の加算・減算をする方法(setDate, setMonthなど)
JavaScriptの日時の加算・減算をする方法(setDate, setMonthなど)

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptで日付を1日後にしたり、1ヶ月前に戻したりする方法ってありますか?」

先生

「あります。DateオブジェクトのsetDate()setMonth()を使うと、簡単に加算や減算ができます。」

生徒

「加算とか減算って、具体的にはどういうことですか?」

先生

「例えば今日が11月18日だとして、1日後は11月19日になりますよね。この操作をプログラムで自動的に行うのが加算、逆に前の日に戻すのが減算です。」

1. Dateオブジェクトの作り方

1. Dateオブジェクトの作り方
1. Dateオブジェクトの作り方

まずは操作したい日付をDateオブジェクトで作ります。Dateオブジェクトは年、月、日を指定して作ることができます。


const today = new Date(2025, 10, 18); // 2025年11月18日
console.log(today);

2025-11-17T15:00:00.000Z

注意点として、JavaScriptでは月が0から始まるため、11月は10になります。

2. setDate()で日付を加算・減算

2. setDate()で日付を加算・減算
2. setDate()で日付を加算・減算

setDate()は日を設定するメソッドです。既存の日付に対して数値を足したり引いたりして、新しい日付に変更できます。


// 1日加算
const tomorrow = new Date(today);
tomorrow.setDate(today.getDate() + 1);
console.log(tomorrow);

// 2日減算
const twoDaysAgo = new Date(today);
twoDaysAgo.setDate(today.getDate() - 2);
console.log(twoDaysAgo);

2025-11-18T15:00:00.000Z
2025-11-16T15:00:00.000Z

このように、setDate()に現在の日付に対して足したり引いたりした値を入れるだけで、日付を簡単に操作できます。

3. setMonth()で月単位の操作

3. setMonth()で月単位の操作
3. setMonth()で月単位の操作

同じようにsetMonth()を使うと月単位での加算や減算ができます。こちらも0から11で月を指定します。


// 1ヶ月加算
const nextMonth = new Date(today);
nextMonth.setMonth(today.getMonth() + 1);
console.log(nextMonth);

// 1ヶ月減算
const lastMonth = new Date(today);
lastMonth.setMonth(today.getMonth() - 1);
console.log(lastMonth);

2025-12-18T15:00:00.000Z
2025-10-18T15:00:00.000Z

setMonth()も自動で翌年や前の年に繰り越してくれるので、12月に1ヶ月加算すれば翌年1月になります。

4. 年や時間の加算・減算も可能

4. 年や時間の加算・減算も可能
4. 年や時間の加算・減算も可能

日付だけでなく年や時間も加算・減算できます。setFullYear()setHours()を使います。


// 年の加算
const nextYear = new Date(today);
nextYear.setFullYear(today.getFullYear() + 1);
console.log(nextYear);

// 時間の減算
const threeHoursAgo = new Date(today);
threeHoursAgo.setHours(today.getHours() - 3);
console.log(threeHoursAgo);

2026-11-18T15:00:00.000Z
2025-11-18T12:00:00.000Z

このようにset系メソッドを使うことで、日付や時間を柔軟に操作できます。イベント管理やカレンダーアプリの作成に便利です。

5. 注意点とポイント

5. 注意点とポイント
5. 注意点とポイント

日付の加算・減算を行うとき、月末や年末を超える場合も自動で調整されます。例えば11月30日に1日加算すると12月1日になります。

また、月の値は0から11、日や時間は1から始まると覚えておくと誤操作を防げます。プログラミング初心者でも、加算・減算のイメージを「今日の次の日」「先月の同じ日」と考えるとわかりやすいです。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptのDOMContentLoadedとloadイベントの違いを理解しよう