在javascript中比较两次

时间:2015-05-16 12:07:45

标签: javascript time

如果出现以下情况的当前时间,我需要运行一个特定的逻辑

  1. 不到早上7点
  2. 早上7点到9点之间
  3. 上午9点到晚上7点
  4. 大于晚上7点
  5. 我发现很难看出当前时间是否介于一个间隔之间:

    if(currentHour < 7){
        console.log("Time is before than 7 am :" + 0 );
    }
    else if (currentHour > 19){
        console.log("Time is after than 7 pm :" + 12148 );
    }
    else if(//Compare between the hours)
    

    请提供适当的代码帮助。

3 个答案:

答案 0 :(得分:1)

if (currentHour >= 7 && currentHour <=19) {

}

答案 1 :(得分:1)

如果您正在处理单个时间间隔,则可以使用logical AND&&),如下所示:

if(currentHour >= 7 && currentHour <= 9) {...}

由于您正在处理多个连续的时间间隔,因此可以使用else语句简化逻辑,因为如果前一个if条件为真,它们将无法运行:

if(currentHour < 7) { //less than 7am
}
else if(currentHour <= 9) { //between 7am and 9am
}
else if(currentHour <= 19) { //between 9am and 7pm
}
else { //greater than 7pm
}

(根据您是否需要包含独占,您可能需要更改<<=。)

答案 2 :(得分:0)

尝试下一个代码。 getHours()类的Date方法以24小时格式返回当前小时。 (4 PM167 PM19,等等......)

var currentHour = new Date().getHours();

if (currentHour < 7) {
   console.log("less than 7 am");
}

if (currentHour >= 7 && currentHour <=9) {
   console.log("between 7am and 9 am");
}

if (currentHour >= 9 && currentHour <= 19) {
   console.log("between 9am and 7pm");
}

if (currentHour > 19) {
   console.log("greater than 7pm");
}