javascript - 基于整数生成日期范围

标签 javascript datetime momentjs

我有一个像这样的数组[0,1,2,3 .. 23],它们意味着一天中的小时。如何使用moment js将它们转换为12小时然后进行日期范围?

我想要的输出是

['12am-1am','1am-2am','2am-3am' .. 11pm-12am]

我的尝试失败了,因为我认为我不需要时刻 https://jsfiddle.net/s4L7hj1a

最佳答案

你不需要 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));
});

关于javascript - 基于整数生成日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45688238/

相关文章:

javascript - 如何确定 jquery ajax 调用何时完成?

javascript - 使用 AJAX 结果更新 DisplayFor Date

php - 我应该如何过滤 MySQL 中的日期?

javascript - 如何在现有的 momentjs 对象中获取没有时间的日期?

angular - 使用 Moment.js 自动更新相对时间的显示

javascript - HTML5 + Javascript : Networking for a game

javascript - 是否有针对 HTML 的 "object"标记的跨浏览器标准加载事件?

c# - 日期字符串无法解析为有效的日期时间

javascript - 处理 UTC 日期客户端

javascript - 使用 HTML 和 JQuery 的打开对话框按钮