我正在使用矩库,从前端开始,我正在HH:mm
中获取时间,我需要使用矩将小时和分钟添加到当前时间。
假设我从前端获得05:30
,并且需要添加当前的UTC时间。我该如何使用momentjs?
我尝试过但是没用
moment().add('05:30', 'HH:mm')
答案 0 :(得分:5)
您可以使用duration和moment.duration(String)
为'05:30'
创建add(Duration)
。
正如持续时间文档所述,'05:30'
是moment.duration(String)
的有效输入:
从 2.1.0 版本开始,此刻支持解析ASP.NET样式的时间跨度。支持以下格式。
格式是小时,分钟,第二个字符串,中间用冒号隔开,例如
23:59:59
。天数可以像这样7.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>
答案 1 :(得分:2)
时刻具有validateFile(event: any): void {
const self = this;
if (event.target.files.length === 1) {
event.srcElement.value = null;
}
}
属性
moment()。add(1,'day')
参考:http://momentjs.com/docs/#/manipulating/add/
要转换为特定格式:
.add
答案 2 :(得分:2)
编辑:@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);
答案 3 :(得分:1)
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');
答案 4 :(得分:0)
尝试使用
moment.add(5,'hours').add(30,'minutes').format('HH:mm')
OR
moment().add({hours:5, minutes: 30}).format('HH:mm')