那么问题是我使用的是这样的代码:
new Date().toJSON().slice(0, 10)
将我的日期作为YYYY-MM-DD
字符串,然后我在一些 mysql 查询和一些条件语句中使用它作为参数。在一天结束时,我没有得到正确的日期,因为它仍然在前一天(我的时区偏移量是 +2/3 小时)。
我没有注意到该toJSON
方法没有考虑到您的时区偏移量,所以我最终得到了这个 hacky 解决方案:
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日期对象