根据两个时间获取中间的时间可选项,步长为15分钟
【摘要】
两个24制的时间, 时间格式为12:00, 分钟只能是 ['00', '15', '30', '45'] 其中之一, 没有判断开始时间早于结束时间
代码写的有点挫,伸手党凑合用吧.
/** * 获取两个时间段的所有选项,步长为15分钟 * @param {*} startTime 开始时间 时间格式为 12:00 ...
两个24制的时间, 时间格式为12:00, 分钟只能是 ['00', '15', '30', '45'] 其中之一, 没有判断开始时间早于结束时间
代码写的有点挫,伸手党凑合用吧.
-
/**
-
* 获取两个时间段的所有选项,步长为15分钟
-
* @param {*} startTime 开始时间 时间格式为 12:00
-
* @param {*} endTime 结束时间 时间格式为 12:00
-
* 返回 可选的数组
-
*/
-
-
function getOptions(startTime, endTime) {
-
const timeMap = { '00': 0, '15': 1, '30': 2, '45': 3 }
-
const numTotimeMap = ['00', '15', '30', '45']
-
let [startHours, startMin] = startTime.split(':')
-
let [endHours, endMin] = endTime.split(':')
-
let len = endHours - startHours
-
let res = []
-
for (let i = 0; i < len + 1; i++) {
-
let num = (i === 0 ? timeMap[startMin] : 0)
-
let inlen = (i === len) ? timeMap[endMin] + 1 : 4
-
for (let q = num; q < inlen; q++) {
-
let hours = parseInt(startHours) + parseInt(i)
-
let item = `${hours}:${numTotimeMap[q]}`
-
res.push(item)
-
}
-
}
-
return res
-
}
-
-
var startTime = '11:30'
-
var endTime = '15:00'
-
let res = getOptions(startTime, endTime)
-
console.log(res)
-
// [
-
// '11:30', '11:45', '12:00',
-
// '12:15', '12:30', '12:45',
-
// '13:00', '13:15', '13:30',
-
// '13:45', '14:00', '14:15',
-
// '14:30', '14:45', '15:00'
-
// ]
文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。
原文链接:fizzz.blog.csdn.net/article/details/107514567
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)