检查时间是否大于一天中的特定时间

时间:2016-10-05 14:21:04

标签: javascript momentjs

之前可能会问,但无法找到答案。 如何检查时间是否每天超过17:30?

我的情况是我需要检查周一到周五当前时间是否大于17:30,如果今天是星期六,我必须检查时间是否大于15:30。

我更喜欢使用Moment.js。

3 个答案:

答案 0 :(得分:6)

这是moment.js

的示例

function check() {
  var now = moment();
  var hourToCheck = (now.day() !== 0)?17:15;
  var dateToCheck = now.hour(hourToCheck).minute(30);
  
  return moment().isAfter(dateToCheck);
}

console.log(check())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>

答案 1 :(得分:2)

您可以使用Date()检查时间。说真的,你不需要一个大插件:

var curTime = new Date();
var day = curTime.getDay();
curTime = parseInt(curTime.getHours() + "" + ("0" + curTime.getMinutes()).substr(-2) + "" + ("0" + curTime.getSeconds()).substr(-2));

if ((curTime > 173000 && day > 0 && day < 6) || (curTime > 153000 && day <= 0 && day >= 6))
  console.log("It's a good time!");
else
  console.log("It's not a good time!");

如果有案例,请告诉我,这会失败!

答案 2 :(得分:1)

使用moment.js提供另一种方法:

var now = moment();
var day = now.day();
var today1730 = moment('17:30','HH:mm');
var today1530 = moment('15:30','HH:mm');
var ok = day > 0 && day < 7 ? now.isSameOrAfter(today1730) : now.isSameOrAfter(today1530);

if (ok) { ... }