JavaScriptで日付を減らす方法
JavaScriptで日付から日数を引く方法
JavaScriptでは、Date
オブジェクトから日数を引くために、次の方法を使用できます。
setDate()メソッドを使用する
このメソッドは、日付オブジェクトの日数を設定します。負の値を指定すると、その日数が引かれます。
const today = new Date(); // 今日の日付を取得
// 3日を引く
today.setDate(today.getDate() - 3);
console.log(today); // 3日前の日付を出力
getTime()とsetTime()メソッドを使用する
これらのメソッドは、日付オブジェクトをミリ秒単位で取得および設定します。日数をミリ秒に変換し、その値を減じてからsetTime()
で設定することで、日数を引くことができます。
const today = new Date();
// 3日を引く
today.setTime(today.getTime() - 3 * 24 * 60 * 60 * 1000); // 1日 = 24時間 * 60分 * 60秒 * 1000ミリ秒
console.log(today); // 3日前の日付を出力
Dateオブジェクトのコンストラクタを使用する
日付オブジェクトを再作成し、日数を減じた値を指定することで、日数を引くことができます。
const today = new Date();
const daysToSubtract = 3;
const newDate = new Date(today.getTime() - daysToSubtract * 24 * 60 * 60 * 1000);
console.log(newDate); // 3日前の日付を出力
注意
setDate()
メソッドは、月や年の変更も自動的に処理します。- 日数を引く際には、時差や夏時間などの影響を考慮する必要がある場合があります。
JavaScriptで日付を減らす方法のコード例
const today = new Date(); // 今日の日付を取得
// 3日を引く
today.setDate(today.getDate() - 3);
console.log(today); // 3日前の日付を出力
console.log(today)
で3日前の日付を出力します。today.setDate()
で現在の日の数値から3を引いた値を設定します。
const today = new Date();
// 3日を引く
today.setTime(today.getTime() - 3 * 24 * 60 * 60 * 1000); // 1日 = 24時間 * 60分 * 60秒 * 1000ミリ秒
console.log(today); // 3日前の日付を出力
today.setTime()
で現在の時刻から計算したミリ秒を引いた値を設定します。3 * 24 * 60 * 60 * 1000
で3日分のミリ秒を計算します。today.getTime()
で現在の時刻をミリ秒単位で取得します。
const today = new Date();
const daysToSubtract = 3;
const newDate = new Date(today.getTime() - daysToSubtract * 24 * 60 * 60 * 1000);
console.log(newDate); // 3日前の日付を出力
new Date()
で新しい日付オブジェクトを作成し、計算したミリ秒を指定します。daysToSubtract * 24 * 60 * 60 * 1000
で引く日数分のミリ秒を計算します。
ライブラリを使用する
JavaScriptのDate
オブジェクトは、日付の操作に便利な機能を提供しますが、より複雑な操作や特定のフォーマットが必要な場合は、ライブラリを使用することもできます。
- Luxon
よりモダンなライブラリで、国際化やタイムゾーンのサポートが充実しています。 - Moment.js
よく使われるライブラリで、日付の操作やフォーマットを簡単に行うことができます。
日付オブジェクトを作成する際に、直接年、月、日、時、分、秒を指定することもできます。
const today = new Date();
const daysToSubtract = 3;
const newDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() - daysToSubtract, today.getHours(), today.getMinutes(), today.getSeconds());
console.log(newDate); // 3日前の日付を出力
Dateオブジェクトのメソッドを組み合わせて使用する
setDate()
メソッド以外にも、setFullYear()
、setMonth()
、setHours()
、setMinutes()
、setSeconds()
などのメソッドを使用して、日付の各要素を直接設定することができます。
const today = new Date();
const daysToSubtract = 3;
today.setDate(today.getDate() - daysToSubtract);
console.log(today); // 3日前の日付を出力
javascript date