【发布时间】:2015-03-11 08:49:40
【问题描述】:
假设我有一个现有的时刻对象:
var m = moment(); // this will default to now
并想用一个新的 Date 对象更新它,但不替换整个对象。例如。这对我来说不是一个可接受的解决方案:
m = moment(new Date());
我可以在文档中找到的唯一解决方案是使用 set 方法:
m.set({'year': 2013, 'month': 3});
但是通过这种方式,我们需要将现有的 Date 对象拆分为如下所示的和平:
var myDate = new Date();
var newDate = moment(myDate);
var splittedDate = {
year: newDate.get('year'),
month: newDate.get('month'),
date: newDate.get('date'),
hour: newDate.get('hour'),
minute: newDate.get('minute'),
second: newDate.get('second'),
millisecond: newDate.get('millisecond')
};
m.set(splittedDate);
但这在我看来很难看。也许有人可以提出更好的解决方案?
【问题讨论】:
-
对我来说似乎很困惑。既然可以直接赋值,为什么还要更新 moment 对象。相反,您可以这样做 var m = moment(); var myDate = new Date(); m = 时刻(我的日期);现在 m 将拥有该日期的时刻对象。
-
我在 Angular 中使用它,更改整个对象将触发我此时不需要的事件
标签: javascript momentjs