使用“小时”以小时:分钟的格式添加小时分钟

时间:2019-05-09 08:03:03

标签: javascript timezone momentjs

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

假设我从前端获得05:30,并且需要添加当前的UTC时间。我该如何使用momentjs?

我尝试过但是没用

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

5 个答案:

答案 0 :(得分:5)

您可以使用durationmoment.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')