这是我在chrome控制台中获得的。我通过“2016-09-05”(YYYY-MM-DD)作为日期,它显示我作为日期在2016年9月4日。
另一个构造函数显示正确的日期
传递逗号分隔需要一些标记+解析+使月零索引,我想避免
答案 0 :(得分:14)
如果省略new Date(string)
构造函数中的时间,则假定为UTC时间。所以显示的值实际上是正确的。使用new Date('2016-09-05 00:00')
以本地时间创建日期对象。
答案 1 :(得分:0)
使用setFullYear语法为Date.setFullYear(年,月,日)
mydate = new Date();
mydate.setFullYear(2016, 08, 05);
答案 2 :(得分:0)
您可以使用UTC Date Conversion中的解决方案。 basicall执行以下操作:
console.log(new Date("2014-12-23"));
console.log(convertDateToUTC(new Date("2014-12-23")));
function convertDateToUTC(date) {
return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
}
输出就像在控制台中一样(对我来说至少:D)
Tue Dec 23 2014 01:00:00 GMT + 0100(MitteleuropäischeZeit)
2014年12月23日星期二00:00:00 GMT + 0100(MitteleuropäischeZeit)