js判断当前时间是否在指定范围内

本文介绍了如何使用JavaScript的Date对象获取并比较时间戳,提供了两个方法:isTimeInRange用于检查当前时间是否在指定时间段内,以及judge函数用于判断当前日期或指定日期是否在另一个日期之后。
摘要由CSDN通过智能技术生成

利用 js 的 Date 对象,获得三个时间戳,分别为当前时间、开始时间、结束时间,通过比对当前时间是否在开始时间和结束时间之间,来判断是否在一个时间区间内

方法一:

function isTimeInRange(startTime:any, endTime:any) {
            // 获取当前时间、开始时间、结束时间的时间戳
            const now = new Date();
            const currentTime = now.getTime();
            const start = new Date();
            const end = new Date();
            start.setHours(startTime.substring(0, 2), startTime.substring(3, 5), 0);
            end.setHours(endTime.substring(0, 2), endTime.substring(3, 5), 0);
            const startTimeMillis = start.getTime();
            const endTimeMillis = end.getTime();
            return currentTime >= startTimeMillis && currentTime <= endTimeMillis;
        }
// 调用方法 当前时间是否在8:00-24:00之间
isTimeInRange('08:00','24:00')

方法二:

// 判断当前时间是否在指定时间段内
  let checkAuditTime = (startTime, endTime) => {
    // 获取当前时间
    const date = new Date()
    // 获取当前时间的年月日
    const dataStr = `${date.getFullYear()}-${
      date.getMonth() + 1
    }-${date.getDate()} `

    // 获取开始时间、结束时间、现在时间的时间戳
    let startDate = new Date(dataStr + startTime).getTime()
    let endDate = new Date(dataStr + endTime).getTime()
    let nowDate = date.getTime()

    const s = startDate > endDate // 判断开始时间否大于结束时间

    if (s) [startDate, endDate] = [endDate, startDate] // 若开始时间否大于结束时间则交换值

    // 判断现在的时间是否在开始时间和结束时间之间,若s为true则结果取反
    if (nowDate > startDate && nowDate < endDate) {
      return s ? false : true
    } else {
      return s ? true : false
    }
  }

 // 使用
 console.log(checkAuditTime('23:50', '00:10'))

 二、js判断当前日期是否指定日期之后

同样是通过转换为时间戳进行判断

function judge(data:string) {
    let compareData = new Date().getTime();
    let referenceData = new Date(data).getTime();
    let power = compareData>=referenceData ? 'true' : 'false';
    return power
}
// console.log(judge('2023.1.1')) //true就是在2023.1.1之后,false就是在之前

上面方法也可以构造成传递两个参数,这样就可以判断某个日期是否在指定日期之后

function judge(one,data) {
    let compareData = new Date(one).getTime();
    let referenceData = new Date(data).getTime();
    let power = compareData>=referenceData ? 'true' : 'false';
    return power
}
// console.log(judge('2022.1.4','2023.1.1')) 
// true就是在2023.1.1之后,false就是在之前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值