js判断当前时间是否在指定范围内
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
要判断当前时间是否在指定时间范围内,可以将当前时间与范围的开始时间和结束时间进行比较。以下是一个使用JavaScript实现的示例:
function isTimeInRange(start, end, now) {
now = now || new Date(); // 当前时间或者传入的时间
var startTime = new Date(start).setHours(start.split(':')[0], start.split(':')[1], 0, 0); // 将开始时间转换为Date对象并设置为当天的指定时间
var endTime = new Date(end).setHours(end.split(':')[0], end.split(':')[1], 59, 59); // 将结束时间转换为Date对象并设置为当天的指定时间加上59分59秒
var nowTime = now.setSeconds(now.getSeconds(), now.getMilliseconds()); // 移除当前时间的秒和毫秒部分
return nowTime >= startTime && nowTime <= endTime; // 判断当前时间是否在范围内
}
// 示例:判断当前时间是否在14:00到16:00之间
var isNowInRange = isTimeInRange('14:00', '16:00');
console.log(isNowInRange); // 输出结果将会是当前时间是否在指定范围内
这段代码定义了一个isTimeInRange
函数,它接受开始时间、结束时间和(可选的)当前时间作为参数。如果不传入当前时间,则默认使用函数执行时的服务器时间。函数将时间转换为Date
对象,并去除了秒数和毫秒数,以便于精确比较时间。然后,它返回一个布尔值,表示当前时间是否在指定范围内。
评论已关闭