【2024年最新】JavaScriptで日付から日数を減らす!初心者でも分かる3つの方法
JavaScriptで日付から日数を減らす方法
setDate()
メソッドは、Dateオブジェクトの日付を指定した値に設定します。日数を減らすためには、現在の日にちから減らしたい日数を引きます。
const date = new Date(); // 現在のDateオブジェクトを取得
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
date.setDate(date.getDate() - daysToSubtract);
console.log(date); // 5日前の日付が表示されます
const date = new Date(); // 現在のDateオブジェクトを取得
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
date.setMilliseconds(date.getMilliseconds() - daysToSubtract * 24 * 60 * 60 * 1000);
console.log(date); // 5日前の日付が表示されます
Date.prototype.subtractDays() メソッドを使う
いくつかのライブラリでは、Date.prototype.subtractDays()
メソッドのような拡張メソッドを提供しています。このメソッドを使うと、より簡単に日数を減らすことができます。
const date = new Date(); // 現在のDateオブジェクトを取得
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
date.subtractDays(daysToSubtract);
console.log(date); // 5日前の日付が表示されます
- シンプルな方法で日数を減らしたい場合は、
setDate()
メソッドを使うのがおすすめです。 - ミリ秒単位で正確な計算が必要な場合は、
setMilliseconds()
メソッドを使うのがおすすめです。
setDate() メソッドを使う
const date = new Date(); // 現在のDateオブジェクトを取得
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
date.setDate(date.getDate() - daysToSubtract);
console.log(date); // 5日前の日付が表示されます
setMilliseconds() メソッドを使う
const date = new Date(); // 現在のDateオブジェクトを取得
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
date.setMilliseconds(date.getMilliseconds() - daysToSubtract * 24 * 60 * 60 * 1000);
console.log(date); // 5日前の日付が表示されます
const date = new Date(); // 現在のDateオブジェクトを取得
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
date.subtractDays(daysToSubtract);
console.log(date); // 5日前の日付が表示されます
出力例
// 1. setDate() メソッドを使う
> 2024-04-06T00:00:00.000Z
// 2. setMilliseconds() メソッドを使う
> 2024-04-06T00:00:00.000Z
// 3. Date.prototype.subtractDays() メソッドを使う
> 2024-04-06T00:00:00.000Z
補足
- 上記のサンプルコードは、いずれもブラウザのコンソールで実行することができます。
Date.prototype.subtractDays()
メソッドは、ライブラリによって実装が異なる場合があります。詳細は、ライブラリのドキュメントを参照してください。
JavaScriptで日付から日数を減らすその他の方法
Date.parse() メソッドと Date.prototype.toString() メソッドを使う
Date.parse()
メソッドは、日付文字列をミリ秒に変換します。Date.prototype.toString()
メソッドは、Dateオブジェクトを日付文字列に変換します。これらのメソッドを組み合わせて、日数を減らすことができます。
const dateStr = "2024-04-11"; // 日付文字列
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
const newDateStr = new Date(Date.parse(dateStr) - daysToSubtract * 24 * 60 * 60 * 1000).toString();
console.log(newDateStr); // 2024-04-06
Moment.js ライブラリを使う
Moment.js は、日付時刻を扱うためのJavaScriptライブラリです。Moment.js を使用すると、より簡単に日数を減らすことができます。
// Moment.js ライブラリの読み込み
import moment from "moment";
const date = moment(); // 現在のDateオブジェクトを取得
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
const newDate = date.subtract(daysToSubtract, "days");
console.log(newDate.toString()); // 2024-04-06
Lodash ライブラリを使う
Lodash は、JavaScript のユーティリティライブラリです。Lodash を使用すると、_.subtract()
関数を使って日数を減らすことができます。
// Lodash ライブラリの読み込み
import _ from "lodash";
const date = new Date(); // 現在のDateオブジェクトを取得
const daysToSubtract = 5; // 減らしたい日数
// 日付を5日減らす
const newDate = _.subtract(date, daysToSubtract, "days");
console.log(newDate); // 2024-04-06
- より柔軟な方法で日数を減らしたい場合は、Moment.js などのライブラリを使うのがおすすめです。
javascript date