我想制作一个Javascript日期对象,例如。设置为“明天早上8点”的var now = new Date().getTime()
,我将如何实现?
答案 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返回。