我正在使用Date
对象在 javascript 中进行一些日期操作。我花了大约一个小时来理解一个错误:在初始化之后,我使用.toJSON()
了函数并且我的日期减一。这是我正在做的代码示例:
var date = new Date();
console.log(date.getDate()); // print "19"
date.setDate(date.getDate()-1); // print "18"
var formated = date.toJSON().substr(0, 10); // print "2013-09-17"
突然,日期从 18 日变为 17 日。所以为了确保我直接在开发者控制台中尝试了这个:
new Date(2013, 09, 19)
Sat Oct 19 2013 00:00:00 GMT+0200 (Paris, Madrid (heure d’été)) // date "19" as it should
new Date(2013, 09, 19).toJSON()
"2013-10-18T22:00:00.000Z" // date "18" as it shouldn't
现在我的问题只是“为什么?”。
这有可能来自我的配置还是其他?
这是一个错误吗?如果是,这是一个已知的错误吗?