Javascriptの日付を1日分減らして、月/年を正しくロールバックする必要があります。つまり、「今日」の日付がある場合は、「昨日」の日付を取得する必要があります。Javascriptの日付を1日減算する最も簡単な方法は何ですか?
私はこれを行うときに常に必要以上にコードを取っているようですので、簡単な方法があるのだろうかと思います。
これを行う最も簡単な方法は何ですか?
[編集:ただ、下記の回答で混乱を避けるために、これははJavaScript問題ではなく、Javaの一つです]
Javascriptの日付を1日分減らして、月/年を正しくロールバックする必要があります。つまり、「今日」の日付がある場合は、「昨日」の日付を取得する必要があります。Javascriptの日付を1日減算する最も簡単な方法は何ですか?
私はこれを行うときに常に必要以上にコードを取っているようですので、簡単な方法があるのだろうかと思います。
これを行う最も簡単な方法は何ですか?
[編集:ただ、下記の回答で混乱を避けるために、これははJavaScript問題ではなく、Javaの一つです]
var d = new Date();
d.setDate(d.getDate() - 1);
console.log(d);
これは間違った日を返します。 UTC -03:00の下で、var d = newを確認します。Date(2014,9,19) d.setDate(d.getDate() - 1); // Oct 17 –
を返します。また、間違った年を返します。新しい日付(新しいDate()。getDate() - 1)は私のために1969を返します –
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);
setDate(dayValue)
dayValue
月の日を表す、1から31の整数です。
あなたの問題(と私)を解く行動
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setDateからの指定範囲外のようです。addDate()、addMonth()、addYear()...機能が必要なように思われるもの。
origDate = new Date();
decrementedDate = new Date(sDate.getTime() - (86400 * 1000));
console.log(decrementedDate);
これはうまくいきます! –
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
はインクリメントとデクリメントの両方を行うことができます関数です。 http://stackoverflow.com/a/29199863/4021614 –