Javascript の日付を 1 日減らす必要があるため、月/年を正しくロールバックできます。つまり、「今日」の日付がある場合、「昨日」の日付を取得したいということです。
これを行うと、常に必要以上のコードが必要になるように思われるので、もっと簡単な方法があるかどうか疑問に思っています。
これを行う最も簡単な方法は何ですか?
[編集: 以下の回答で混乱を避けるために、これはJava ではなくJavaScriptの質問です。]
Javascript の日付を 1 日減らす必要があるため、月/年を正しくロールバックできます。つまり、「今日」の日付がある場合、「昨日」の日付を取得したいということです。
これを行うと、常に必要以上のコードが必要になるように思われるので、もっと簡単な方法があるかどうか疑問に思っています。
これを行う最も簡単な方法は何ですか?
[編集: 以下の回答で混乱を避けるために、これはJava ではなくJavaScriptの質問です。]
var d = new Date();
d.setDate(d.getDate() - 1);
console.log(d);
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
var today = new Date();
var yesterday = new Date().setDate(today.getDate() -1);
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()...関数です。