尝试创建一个未来的日期而不是创建一个过去的日期

Attempt to create a future Date instead created a past Date

我当前的日期时间是 4 月 8 日 8:52 下午 ,我正在使用此代码:

//get current time
var now = new Date();

//get current time plus 6 hours in the future
var future = new Date(now.getFullYear(), now.getMonth(), now.getDay(), now.getHours()+6, now.getMinutes(), now.getSeconds(), 0);

//print result
console.log(future.toLocaleString());

结果是4/6/2016, 2:52:43 AM。时间实际上是正确的,但这一天不知何故倒退了 2 天。我究竟做错了什么?

.getDay() returns 星期几 (0-6)。

您想要的是 .getDate(),即 returns 这个月的第几天。


如果您要进行大量日期操作,您应该查看 Moment.js

马上你可以做:

var future = moment.add(6, 'hours');