【问题标题】:How to random time in javascript如何在javascript中随机时间
【发布时间】:2014-11-15 17:32:07
【问题描述】:

我想根据格式“HH:MM AM”制作随机时间的javascript 在我的 selenium IDE 中。

我尝试了以下代码: javascript{Math.floor(24*Math.random() + 00) +":" + "00 PM";}

但正如你猜想的那样,它不起作用。 请您帮忙谢谢。

【问题讨论】:

    标签: javascript selenium random ide


    【解决方案1】:

    Shehryar 的答案会给您提供不完全随机的结果,主要是因为它应该乘以 12 而不是当前的小时数,而不是当前的分钟数 60。即,较高的小时数和分钟数将不那么频繁。此外,由于使用圆形而不是地板,因此可以获得零小时 60 分钟。

    虽然 HTML 和 document 对象的使用很好,所以我将复制它:

    <div id="timebox"></div>
    <script>
    function pad(number) { 
      //Add a leading 0 if the number is less than 10
      return ((number<10)?"0":"")+number.toString();
    }
    
    function randomTime() {
      //Generate random minute in the day (1440 minutes in 24h)
      var r = Math.floor(Math.random() * 1440);
    
      //The hour is obtained by dividing by the number of minutes in an hour
      //taking the floor of that (drop the decimal fraction)
      //take the remainder (modulo) of dividing by 12 (13 -> 1 etc)
      //add 1 so that the range is 1-12 rather than 0-11
      var HH = pad(1 + (Math.floor(r/60) % 12));
    
      //Take the integer remainder of dividing by 60 (remove the hours) 
      var MM = pad(r % 60);
    
      //The afternoon starts after 12*60 minutes
      var AMPM = (r>=720) ? "PM" : "AM";
    
      return HH + ":" + MM + " " + AMPM;
    }
    
    document.getElementById("timebox").innerHTML=randomTime();
    </script>
    

    【讨论】:

      【解决方案2】:

      您是否已经查看过这篇文章: How to format a JavaScript date 这在 Date 对象本身上: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date 也许这些链接将为您提供一些指导,帮助您提出解决方案。祝你好运!

      编辑:我已尝试使用此 jsFiddle 来帮助您,请参阅:http://jsfiddle.net/damf9hf1/3/

      HTML:

      <div id="timebox"></div>
      

      JS:

      var myDate = new Date();
      var myHour = myDate.getUTCHours();
      var myMinutes = myDate.getMinutes();
      
      myRandom(myHour, myMinutes);
      
      function myRandom(hrs, mins) {
          hrs = Math.round(Math.random()*hrs);
          mins = Math.round(Math.random()*mins);    
          var hFormat = (hrs<10 ? "0" : "");
          var mFormat = (mins<10 ? "0" : "");
          var amPm = (hrs<12 ? "AM" : "PM");
          document.getElementById("timebox").innerHTML="Time: " +hFormat+hrs+ ":" +mFormat+mins+ " " +amPm;
      }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-16
        • 1970-01-01
        • 2013-03-15
        • 1970-01-01
        • 2014-10-24
        • 2014-06-01
        • 2012-06-24
        相关资源
        最近更新 更多