与普通日期不同,时刻没有必须传递给其构造函数的任何必需单位。例如,这是使用未传递的单位defaulting to current date and 00:00 time实例化时刻的一种完全有效的方法:
moment.utc('07:35', 'HH:mm').toISOString();
> "2013-10-24T07:35:00.000Z" //let's just ignore the timezones for now, ok?
那么如何将部分力矩合并为一个?例如,我可以将第一时刻的小时数
.set()
设置为第二时刻的值:var mergee = moment.utc('07:35', 'HH:mm');
moment.utc('2015-01-01').
set('hours', mergee.get('hours')).
set('minutes', mergee.get('minutes')).
toISOString();
> "2015-01-01T07:35:00.000Z" //yay!
但是,如果我事先不知道“合并”的格式,甚至不知道它解析的单位怎么办?
最佳答案
尽管不完全受支持或不建议使用,但类似这样的方法将起作用:
var m1 = moment.utc('07:35', 'HH:mm');
var m2 = moment.utc('2015-01-01');
var merged = moment.utc(m1._i + ' ' + m2._i, m1._f + ' ' + m2._f);
空格分隔符不是必需的,但是它可以防止与某些格式的冲突。
我可以看到,如果两个时刻都包含具有不同数据的相同元素,则可能会遇到麻烦。
关于javascript - 合并部分时刻,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19554916/