1. ホーム
  2. javascript

[解決済み] JavaScriptで日付のインクリメントを行う

2022-03-19 12:49:01

質問

JavaScriptで日付の値を1日ずつ増やしたいのですが、どうすればいいですか?

例えば、2010-09-11という日付の値があって、次の日の日付をJavaScriptの変数に格納する必要があります。

日付を1日ずつ増やすにはどうしたらいいですか?

解決方法は?

3つの選択肢をご紹介します。

1. JavaScriptの Date オブジェクトを使用します(ライブラリは使用しません)。

1の前回の答えは間違っていました(サマータイムへの移行を考慮せず、24時間追加していました)。 お利口さん 東部時間帯の2010年11月7日では失敗するとのご指摘をいただきました)。その代わりに Jigarの回答 が、ライブラリを使用しない正しい方法です。

// To do it in local time
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);

// To do it in UTC
var tomorrow = new Date();
tomorrow.setUTCDate(tomorrow.getUTCDate() + 1);

JavaScript の日付オブジェクトはロールオーバーに強いので、これは月 (または年) の最終日でも機能します。

// (local time)
var lastDayOf2015 = new Date(2015, 11, 31);
console.log("Last day of 2015: " + lastDayOf2015.toISOString());
var nextDay = new Date(+lastDayOf2015);
var dateValue = nextDay.getDate() + 1;
console.log("Setting the 'date' part to " + dateValue);
nextDay.setDate(dateValue);
console.log("Resulting date: " + nextDay.toISOString());

2. 使用方法 モーメントJS :

var today = moment();
var tomorrow = moment(today).add(1, 'days');

(注意点として add は新しいインスタンスを返すのではなく、呼び出したインスタンスを変更します。 today.add(1, 'days')today . そのため、まずクローンオペで var tomorrow = ... .)

3. 使用方法 日付JS が、長い間更新されていない。

var today = new Date(); // Or Date.today()
var tomorrow = today.add(1).day();