javascript - 如何对数组中的时间字符串求和?
问题描述
假设,我有一个不同时间字符串的数组。
let a: any = ["7:20", "5:50", "6:30"];
我想总结一下这些 HH:mm 时间字符串。我正在使用 Ionic 4 (Angular) 构建一个应用程序。我已经为这些使用了 momentjs。但是,不幸的是,我找不到任何解决方案。
更新: 预期结果: 7: 20 + 5:50 + 6:30 = 19:40 (HH:33)
解决方案
您可以将时间视为可以总结的持续时间:
const any = ['7:20', '7:52', '5:03', '1:01', '9:02', '6:00'];
const sum = any.reduce((acc, time) => acc.add(moment.duration(time)), moment.duration());
console.log([Math.floor(sum.asHours()), sum.minutes()].join(':'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
推荐阅读
- reactjs - 为什么 setState 在这种情况下在 NextJS 中不起作用?
- css - 如何告诉 CSS :not() 选择器影响所有子节点?
- url-rewriting - TYPO3 v9 上具有 StaticMappableAspectInterface 的自定义路由方面未执行
- google-cloud-functions - 仅允许内部流量用于云端点后面的云功能
- c++ - 接收Base64字符串并将其转换为jpg图像
- javascript - 如何解决使用 Httrack 下载站点的问题
- flutter - 列表小部件的颤振高度没有减少
- javascript - 调整大小后 SVG 多边形位置错误
- java - 如何在其他类中使用公共常量?
- sql - 总结所有日期,但只保留最后一个日期