获取当前时间,以及判断时间是否在范围内

159 阅读1分钟
function getCurrentTime() {  
  const now = new Date();  
  const year = now.getFullYear();  
  const month = now.getMonth() + 1;  
  const day = now.getDate();  
  const hours = now.getHours();  
  const minutes = now.getMinutes();  
  const seconds = now.getSeconds();  
    
  // 补全月、日、小时、分钟和秒的占位符,以确保格式统一  
  const formattedMonth = month < 10 ? '0' + month : month;  
  const formattedDay = day < 10 ? '0' + day : day;  
  const formattedHours = hours < 10 ? '0' + hours : hours;  
  const formattedMinutes = minutes < 10 ? '0' + minutes : minutes;  
  const formattedSeconds = seconds < 10 ? '0' + seconds : seconds;  
    
  // 拼接时间字符串并返回  
  return `${year}-${formattedMonth}-${formattedDay} ${formattedHours}:${formattedMinutes}:${formattedSeconds}`;  
}

function isTimeInRange(startTime, endTime, currentTime) {  
  // 将字符串时间转换为时间对象  
  const formatTime = (timeStr) => new Date(timeStr);  
  const start = formatTime(startTime);  
  const end = formatTime(endTime);  
  const current = formatTime(currentTime);  
    
  // 判断当前时间是否在开始时间和结束时间之间  
  return current >= start && current <= end;  
}

var startTime = '2023-11-01 00:00:00';  
var endTime = '2023-11-02 23:59:59';  
var currentTime = '2023-11-01 12:34:56'; // 当前时间为当前时间  
  
var isInRange = isTimeInRange(startTime, endTime, currentTime);  
console.log(isInRange ? '当前时间在指定时间范围内' : '当前时间不在指定时间范围内');