Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

161
Views
How to add one hour for "24 hours" Time format in javascript/jquery?

I want to add one hour in 24 hours time format using Javascript or JQuery.

like

if 23:00 then it should be 00:00
if 11:00 then 12:00
if 13:00 then 14:00 if 09:00 then 10:00

for that I tried below code. That's perfectly works

    function increase24TimeByOne(timeStr) {
            var splitedTimeStr = timeStr.split(':');
            var hours = parseInt(splitedTimeStr[0]);
            var minutes = splitedTimeStr[1].substring(0, 2);
            var nextHours = (hours + 1);
          
            if(nextHours.toString().length == 1){
                nextHours = "0" + nextHours;
            }
            if(nextHours == 24){
                nextHours = "00"
            }
            return nextHours + ":" + minutes;
        }

but I want to know that code is better or not ?
Can anyone please suggest ?

Thanks in advance

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Using modulo maths add 1 modulo 24

i.e. (23 + 1) % 24 === 0

function increase24TimeByOne(timeStr) {
  var splitedTimeStr = timeStr.split(':');
  var hours = parseInt(splitedTimeStr[0]);
  var minutes = splitedTimeStr[1].substring(0, 2);
  var nextHours = (hours + 1) % 24;
  var nextMeridiem;
  if (nextHours.toString().length == 1) {
    nextHours = "0" + nextHours;
  }
  return nextHours + ":" + minutes;
}

console.log(increase24TimeByOne('23:45'))

You can do better, by converting to string AND padding (optionally) the '0' at the same time

using toString().padStart(2, '0') - i.e add '0' until the string is at least 2 in length

function increase24TimeByOne(timeStr) {
    var splitedTimeStr = timeStr.split(':');
    var hours = parseInt(splitedTimeStr[0]);
    var minutes = splitedTimeStr[1].substring(0, 2);
    var nextHours = ((hours + 1) % 24).toString().padStart(2, '0');
    return nextHours + ":" + minutes;
}
console.log(increase24TimeByOne('23:45'))

In my opinion, you can do this with even less code by using string templates

It may not be so readable though, but less code is better code (to a point)

function increase24TimeByOne(timeStr) {
    let [hours, minutes] = timeStr.split(':');
    return `${((+hours + 1) % 24).toString().padStart(2, '0')}:${minutes}`;
}
console.log(increase24TimeByOne('23:45'))

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!