Wednesday, July 3, 2024
HomeLanguagesJavascriptHow to Round Time to the Nearest Quarter Hour using JavaScript ?

How to Round Time to the Nearest Quarter Hour using JavaScript ?

We have given a time and the task is to round the time to the nearest quarter-hour with the help of JavaScript. There are two approaches that are discussed below:

Approach 1: Use getMinutes() and getHours() methods to get the minutes and hours in a variable (Ex. mins, hrs) add the 7.5 to mins, divide it by 15, take the integer value and multiply it by 15, which will give the nearest quarter of minutes. If this value goes beyond 60, then take the mod with 60. For hrs, if mins 52 and if the hrs == 23, set hrs to 0 else increment its value by 1.

  • Example:




    <!DOCTYPE HTML>
    <html>
      
    <head>
        <title>
            Round time to the nearest quarter 
            hour in JavaScript
        </title>
        <style>
            body {
                text-align: center;
            }
              
            h1 {
                color: green;
            }
        </style>
    </head>
      
    <body>
        <h1
           neveropen 
        </h1>
        <p>
          Click on button to round the time 
          to nearest quarter hour
        </p>
        <p id="gfg"></p>
        <button onClick="GFG_Fun()">
          click here
        </button>
        <p id="neveropen"></p>
        <script>
            var up = document.getElementById('gfg');
            var down = document.getElementById('neveropen');
            var date = new Date();
            up.innerHTML = "" + date + "";
      
            function GFG_Fun() {
      
                // Getting minutes
                var mins = date.getMinutes();
      
                // Getting hours
                var hrs = date.getHours();
                var m = (parseInt((mins + 7.5) / 15) * 15) % 60;
      
                // Converting '09:0' to '09:00'
                m = m < 10 ? '0' + m : m;
                var h = mins > 52 ? (hrs === 23 ? 0 : ++hrs) : hrs;
      
                // Converting '9:00' to '09:00'
                h = h < 10 ? '0' + h : h;
                down.innerHTML = h + ":" + m;
            }
        </script>
    </body>
      
    </html>

    
    
  • Output:

Approach 2: Use getMinutes() and getHours() methods to get the minutes and hours in a variable (Ex. mins, hrs). Divide mins by 15, take the round value by Math.round() and multiply it by 15, which will give the nearest quarter of minutes. If this value goes beyond 60, then take the mod with 60. For hrs, if mins 52 and if the hrs == 23, set hrs to 0 else increment its value by 1.

  • Example:




    <!DOCTYPE HTML>
    <html>
      
    <head>
        <title>
            Round time to the nearest quarter 
            hour in JavaScript
        </title>
        <style>
            body {
                text-align: center;
            }
              
            h1 {
                color: green;
            }
        </style>
    </head>
      
    <body>
        <h1
           neveropen 
        </h1>
        <p>
          Click on button to round the time 
          to nearest quarter hour
        </p>
        <p id="gfg"></p>
        <button onClick="GFG_Fun()">
          click here
        </button>
        <p id="neveropen"></p>
        <script>
            var up = document.getElementById('gfg');
            var down = document.getElementById('neveropen');
            var date = new Date();
            up.innerHTML = "" + date + "";
      
            function GFG_Fun() {
      
                // Getting minutes
                var mins = date.getMinutes();
      
                // Getting hours
                var hrs = date.getHours();
                var m = (Math.round(mins/15) * 15) % 60;
      
                // Converting '09:0' to '09:00'
                m = m < 10 ? '0' + m : m;
                var h = mins > 52 ? (hrs === 23 ? 0 : ++hrs) : hrs;
      
                // Converting '9:00' to '09:00'
                h = h < 10 ? '0' + h : h;
                down.innerHTML = h + ":" + m;
            }
        </script>
    </body>
      
    </html>

    
    
  • Output:

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

Ted Musemwa
As a software developer I’m interested in the intersection of computational thinking and design thinking when solving human problems. As a professional I am guided by the principles of experiential learning; experience, reflect, conceptualise and experiment.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments