编辑:请注意在您的答案中引入 UTC 时间。由于在客户端做事会导致不同的时区。
在javascript中,我可以获取当前时间、小时和分钟,如下所示:
var currentTime = new Date();
var currentHour = currentTime.getHours();
var currentMinute = currentTime.getMinutes();
现在,只有当前时间在固定时间间隔内为假时,我才必须执行任务。
假设有一个固定时间上午 10:30
。用户可以执行特定任务,前提是当前时间
比当前时间
晚4小时
或提前1小时
固定时间
。
表示用户可以在上午 6:30 到上午 11:30 之间执行任务。
我尝试获取当前时间并执行
start = fixed_time - 4;
end = fixed_time + 1;
if currentHour< end or currentHour > start{
do some stuff;
}
但这忽略了分钟数,如何处理呢? 否则,我如何判断当前时间是否在上午 6:30 到上午 11:30 之间?
最佳答案
var currentTime = new Date();
var startTime = new Date(2012, 3, 8, 6, 30, 0, 0); //6:30am today
var endTime = new Date(2012, 3, 8, 11, 30, 0, 0); //11:30am today
if ((currentTime.getTime() > startTime.getTime()) && (currentTime.getTime() < endTime.getTime())
{
//current time is between start and end so do what you need to do
}
如果您需要它更加动态,您可以
var currentTime = new Date();
var startTime = new Date();
startTime.setHours(6);
startTime.setMinutes(30);
var endTime = new Date();
endTime.setHours(11);
endTime.setMinutes(30);
if ((currentTime.getTime() > startTime.getTime()) && (currentTime.getTime() < endTime.getTime())
{
//current time is between start and end so do what you need to do
}
关于javascript - 检查当前时间是否落在 JavaScript 中的特定时间间隔内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10061021/