我正在使用力矩库,从前端我在HH:mm
中获得时间,我需要使用MOMM将小时和几分钟的时间添加到当前时间。
假设我从前端获得05:30
,我需要添加到当前的UTC时间。我该如何使用Momentjs?
我尝试过,但没有起作用
moment().add('05:30', 'HH:mm')
您可以使用moment.duration(String)
和使用add(Duration)
为'05:30'
创建持续时间。
作为力矩持续时间文档所述,'05:30'
是moment.duration(String)
的有效输入:
在 2.1.0 时,力矩支持解析ASP.NET样式时间跨度。支持以下格式。
格式为一个小时,分钟,第二个字符串,由
23:59:59
等结肠隔开。可以将点分隔符(如SO7.23:59:59
(前缀。部分秒也支持23:59:59.999
。
在这里一个实时样本:
const result = moment().add( moment.duration('05:30') );
console.log( moment().format() );
console.log( result.format() );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
编辑:上面的@vincenzoc提供了我个人认为是最佳实践。仅检查此答案作为他的替代方案。
只是做:
moment().add({
hours: 5,
minutes: 30
});
正式文档中建议:http://momentjs.com/docs/#/manipulating/add/
使用上述字面的对象,或使用链接。
我不能摆脱那条字符串,只需分开即可获取数小时和几分钟:
let [hours, minutes] = '05:30'.split(':').map(Number);
console.log(hours);
console.log(minutes);
时刻有 .add
属性
moment((。添加(1,'day'(
参考:http://momentjs.com/docs/#/manipulating/add/
用于转换为特定格式:
moment().add({hours:5, minutes: 30}).format('HH:mm')
var t = '05:30';
var hours = parseInt(t.substr(0,2));
var minutes = parseInt(t.substr(3,5));
moment().add(hours,'hours').add(minutes,'minutes');
尝试使用
moment.add(5,'hours').add(30,'minutes').format('HH:mm')
或
moment().add({hours:5, minutes: 30}).format('HH:mm')