js gethours和getminutes无法正常工作

时间:2016-04-21 05:28:17

标签: javascript jquery

<script type="text/javascript">

       $(function() {
            var hours = new Date().getHours();
            var minutes = new  Date().getMinutes();
            console.log(hours);
            console.log(minutes);
            if(hours >= 10 && minutes >=30) {
                 $("#enableOvertime").hide(); // button not hiding
      
            }
       });
       
      
    </script>
<button type="submit" id="enableOvertime">Enable Overtime </button>

我目前没有得到它的错误。使用console.log显示正确的时间和分钟。 butid不会隐藏按钮。我想在每天上午10:30之后隐藏按钮。任何帮助,将不胜感激。

3 个答案:

答案 0 :(得分:2)

你的病情有误。它只捕获每小时的后半部分(例如10:30-10:59,11:30-11:59,12:30-12:59等等)。您必须将代码更改为:

if (hours >= 10 && minutes >= 30 || hours >= 11) {

答案 1 :(得分:0)

你需要在早上10:30之后隐藏按钮,然后你可以做类似的事情。

当时间为11:00时,您的逻辑将会失败,因为即使小时数为&gt; 10分钟是&lt; 30

$(function() {
  var dt = new Date();
  var hours = dt.getHours();
  var minutes = dt.getMinutes();
  console.log(hours);
  console.log(minutes);
  var time = hours * 60 + minutes;
  $("#enableOvertime").toggle(time < 630 || time >= 1110); // button not hiding

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="submit" id="enableOvertime">Enable Overtime</button>

注意:另请注意,从客户端花时间做出这样的决定是错误的,因为用户可以随时更改客户端时间

答案 2 :(得分:0)

你可以做这样的事情

Date.parse('01/01/2011 10:20:45') > Date.parse('01/01/2011 5:10:10')

参考compare two time string