Javascript:将新日期设置为明天早上8点

时间:2016-03-22 15:12:19

标签: javascript date

我想制作一个Javascript日期对象,例如。设置为“明天早上8点”的var now = new Date().getTime(),我将如何实现?

2 个答案:

答案 0 :(得分:13)

您可以执行以下操作:

var now  = new Date();
now.setDate(now.getDate() + 1)
now.setHours(8);
now.setMinutes(0);
now.setMilliseconds(0);

还要检查this

您还可以:var now = Date("2016-03-23T8:00:00");

var now = new Date(2016,03,23,8,0,0,0 );

答案 1 :(得分:5)

如果您有很多日期算术,我强烈建议您使用moment.js

使用此库,您的代码将与moment().add(1, 'days').hours(8).startOf('hour')一样短。

moment.js与'moment'对象一起使用,它包裹JS日期以提供其他方法。 moment()调用返回当前日期时间的时刻,因此是相当于new Date()的moment.js。
从那里我们可以使用moment.js方法,作为add(quantity, unit),将持续时间添加到上一个日期。所有这些操作方法都会返回一个修改过的时刻,这意味着我们可以链接它们 hours()方法既是getter又是setter,取决于它的参数;在这里我们为它提供一个数字,这意味着我们将当前的小时部分设置为8.对.hours()的调用将返回当前小时部分。
startOf(unit)会在单位开头返回一个时刻,这意味着它会将所有较小的单位设置为0:moment().startOf('day')将在今天00:00返回。