Javascriptで日付を1日減らす最も簡単な方法は何ですか?
-
09-06-2019 - |
質問
月/年をまたいで正しくロールバックできるように、JavaScript の日付を 1 日減らす必要があります。つまり、「今日」の日付がある場合、「昨日」の日付を取得したいと考えます。
これを行うと常に必要以上のコードが必要になるように見えるので、もっと簡単な方法はないかと考えています。
これを行う最も簡単な方法は何ですか?
[編集:以下の回答の混乱を避けるために、これは JavaScript Java の質問ではありません。]
解決
var d = new Date();
d.setDate(d.getDate() - 1);
console.log(d);
他のヒント
var today = new Date();
var yesterday = new Date().setDate(today.getDate() -1);
day.setDate(day.getDate() -1); //will be wrong
これでは間違った日が返されます。UTC -03:00 未満、チェックしてください
var d = new Date(2014,9,19);
d.setDate(d.getDate()-1);// will return Oct 17
より良い使い方:
var n = day.getTime();
n -= 86400000;
day = new Date(n); //works fine for everything
getDate()-1
トリックを実行する必要があります
簡単な例:
var day = new Date( "January 1 2008" );
day.setDate(day.getDate() -1);
alert(day);
origDate = new Date();
decrementedDate = new Date(origDate.getTime() - (86400 * 1000));
console.log(decrementedDate);
setDate(dayValue)
dayValue
は、月の日を表す 1 ~ 31 の整数です。
から https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setDate
あなたの問題(そして私の問題)を解決する動作は仕様の範囲外のようです。
必要と思われるのは、addDate()、addMonth()、addyear() ...です。機能。
JS での日付の操作は頭痛の種になることがあります。したがって、最も簡単な方法は使用することです 瞬間.js あらゆる日付操作に対応します。
1 日を減算するには:
const date = moment().subtract(1, 'day')
所属していません StackOverflow