如何仅使用时间而不是日期创建时刻对象?

时间:2015-12-08 01:03:10

标签: javascript date time reactjs momentjs

这是我想要做的。

我希望在格林威治标准时间16:00之前有一个时刻对象。

如果这个时间是过去那么+ 1d,如果是将来它将是同一天。

我该怎么做?如何在创建对象后将时间设置为16:00?

这不起作用:

var day = moment('16:00','HH:mm').tz('GMT');

如果我创建一个新的时刻对象,我该如何设置之后的时间?

var day = moment.tz('GMT');

没有这样的day.set(16:00, 'time of day'):

有吗?

---编辑:

如何设置Ii创建后的时间?如果我去时刻()。tz(GMT)那么它将是该区域的当前时间。我怎样才能改变之后的一天中的时间?

另外,如何更改该对象的日期?

我有一个时间字符串。我想解析这个并把它放到我上面提到的那个时刻。最好的方法是什么?

var time = "16:00";

var day = moment().tz('GMT');

如何从字符串中设置日期时间?

1 个答案:

答案 0 :(得分:6)

moment.js和JavaScript都没有时间类型。您可以使用任意一天(例如1970/01/01)为所有时间对象伪造它。

moment("1970-01-01 16:00Z")

编辑:

var time = "16:00"
var day = moment().tz('GMT');
var splitTime = time.split(/:/)
day.hours(time[0]).minutes(time[1]).seconds(0).milliseconds(0);