Javascript 使用矩以hh:mm格式添加小时分钟

Javascript 使用矩以hh:mm格式添加小时分钟,javascript,timezone,momentjs,Javascript,Timezone,Momentjs,我正在使用时刻库,从前端我在HH:mm中获取时间,我需要使用时刻将小时和分钟添加到当前时间 假设我从前端获得05:30,我需要添加到当前UTC时间。我如何使用momentjs做到这一点 我试过了,但没有成功 moment().add('05:30', 'HH:mm') 力矩具有。添加属性 力矩()。添加(1,‘天’) 参考: 要转换为特定格式,请执行以下操作: moment().add({hours:5, minutes: 30}).format('HH:mm') 编辑:@VincenzoC

我正在使用时刻库,从前端我在
HH:mm
中获取时间,我需要使用时刻将小时和分钟添加到当前时间

假设我从前端获得
05:30
,我需要添加到当前UTC时间。我如何使用momentjs做到这一点

我试过了,但没有成功

moment().add('05:30', 'HH:mm')

力矩具有
。添加
属性

力矩()。添加(1,‘天’)

参考:

要转换为特定格式,请执行以下操作:

moment().add({hours:5, minutes: 30}).format('HH:mm')

编辑:@VincenzoC提供了我个人认为最好的实践。检查此答案仅作为其答案的备选答案

只要做:

moment().add({
   hours: 5,
   minutes: 30
});
正如正式文件所建议的那样:

使用如上所述的对象文字,或使用链接

我想你不能摆脱这个字符串,只要通过拆分获得小时和分钟:

let[hours,minutes]=“05:30”。拆分(“:”)。映射(编号);
控制台日志(小时);
控制台日志(分钟)
您可以使用和创建一个for
'05:30'

正如文档所述,
'05:30'
是以下各项的有效输入:

2.1.0开始,矩支持解析ASP.NET样式的时间跨度。支持以下格式

格式是以冒号分隔的小时、分钟、秒字符串,如
23:59:59
。天数可以用点分隔符作为前缀,如so
7.23:59:59
。还支持部分秒
23:59:59.999

这里有一个活样本:

const result=moment().add(moment.duration('05:30'));
console.log(矩().format());
console.log(result.format())
变量t='05:30';
var小时数=parseInt(t.substr(0,2));
var minutes=parseInt(t.substr(3,5));
添加(小时,'hours')。添加(分钟,'minutes');
尝试使用

moment.add(5,'hours')。add(30,'minutes')。格式('HH:mm')


moment().add({hours:5,minutes:30}).format('HH:mm')

@Profer如果您已经获得了任何格式的时间,那么在添加任何持续时间后,您将获得相同的格式。或者您可以先添加持续时间,然后转换为特定格式。@VLAZ是的,我错过了。更新答案:O。。。哦,那太聪明了!听起来这是最好的做法。嗨,VincenzoC,我有这种格式
0530
。现在它不起作用了。有什么想法吗?
0530
不是ASP.NET风格的时间跨度,由矩支持,因为没有冒号(格式是以冒号分隔的小时、分钟、秒字符串),您必须添加自己的逻辑以根据需要翻译输入。(例如,
var输入='0530';var输出=str.substring(0,2)+':'+str.substring(2)
,但可能有很多极端情况)您好,请回答这个问题。基本上反之亦然