javascript - 如何使用moment.js按降序创建最后1小时的分钟数组?
问题描述
我有一个用例,我需要按降序创建一个以 5 分钟为间隔的分钟数组。我需要创建最后 1 小时的数组。我试过moment.js。我得到了结果,但没有按排序顺序。这是我到目前为止所尝试的。
let dates = [];
for (let i = 0; i < 60; i++) {
dates.push(moment(new Date()).subtract(i, 'minutes').format('HH:' + i + ' A'));
i = i + 4;
}
console.log(dates)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
这是我得到的结果集。
15:0 PM
15:5 PM
15:10 PM
15:15 PM
15:20 PM
14:25 PM
14:30 PM
14:35 PM
14:40 PM
14:45 PM
14:50 PM
14:55 PM
结果未排序。我希望它们从头到尾按降序15:20
排列14:25
。
还有一件事是关于如何打印开头连接的单个数字分钟,0
例如,转换15:5 PM
为15:05 PM
.
有什么解决方案可以解决这个问题吗?
解决方案
使用HH:mm
格式
let dates = [];
let start = moment()
let minutes = start.minute()
start = start.minute(5 * (Math.floor(Math.abs(minutes / 5))))
for (let i = 0; i < 60; i += 5) {
dates.push(start.subtract(5, 'minutes').format('HH:mm A'));
}
console.log(dates)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
推荐阅读
- python-3.x - 如何通过 bin-count 条件合并直方图 bin(边和计数)?
- ios - 文件描述符不适用于 Objective-C 中的 dispatch_read() 和 dispatch_write()(创建电子邮件客户端)
- python - 不兼容的 Tensorlayer、Tensorflow 和 numpy 版本
- java - 开启设备后,运行DialogFragment时报错
- google-cloud-platform - 为什么我的域不能在其他浏览器上运行?
- delphi - 为什么 FindComponent 在这种情况下不起作用?
- python - Python wordsearch 生成器重叠单词
- c++ - 我们如何才能让字符数组在 C++ 中只接受字母
- javascript - 在 Deno 中读取记录到控制台的值
- reactjs - npm run build 不起作用 - 没有生成生成,脚本停止而不打印任何内容