問題は、次のようなコードを使用していたことです。
new Date().toJSON().slice(0, 10)
日付をYYYY-MM-DD
文字列として取得するには、一部の mysql クエリと一部の条件ステートメントでパラメーターのように使用します。結局のところ、まだ前日だったので、正しい日付を取得できませんでした (タイムゾーンのオフセットは +2/3 時間です)。
toJSON
メソッドがタイムゾーンのオフセットを考慮していないことに気付いていないので、このハッキーな解決策に行き着きました:
var today = new Date();
today.setHours( today.getHours()+(today.getTimezoneOffset()/-60) );
console.log(today.toJSON().slice(0, 10));
よりエレガントなソリューションはありますか?
- テストコードは次のとおりです。http://jsfiddle.net/simo/qwhYw/
- JavaScript toJSON メソッド
- JavaScript日付オブジェクト