我有一个像[0,1,2,3 .. 23]
这样的数组,它们意味着一天一小时。如何使用时刻js将它们转换为12小时然后进行日期范围?
我的愿望输出是
['12am-1am','1am-2am','2am-3am' .. 11pm-12am]
我的尝试失败因为我认为我不需要时刻https://jsfiddle.net/s4L7hj1a
答案 0 :(得分:2)
你不需要moment.js
var getFormattedHour = function(hour) {
return (hour % 12 ? hour % 12 : 12) + ':00 ' + ((hour < 12) || (hour >= 24) ? 'AM' : 'PM');
}
var getHourRange = function(hour) {
return getFormattedHour(hour) + ' - ' + getFormattedHour(hour + 1);
}
var hours = [];
for(var hour = 0; hour < 24; hour++) {
hours.push(hour);
}
hours.map(function(hour) {
console.log(getHourRange(hour));
});
答案 1 :(得分:1)
使用moment.js:
const moment = require('moment');
const start = moment().startOf('day');
const times = 24; // 24 hours
for (let i = 0; i < times; i++) {
const toPrint = moment(start)
.add(60 * i, 'minutes')
.format('hh:mm A');
console.log(toPrint);
}
这将给你哟:
12:00 AM
01:00 AM
02:00 AM
...
...
10:00 PM
11:00 PM
然后您可以根据需要将它们添加到数组中