trying to change 24hr to 12hr format

79 Views Asked by At

I've looked up different options to change the format but I'm not sure if I'm doing it right since none work.

let hrs = document.getElementById(hours)
let min = document.getElementById(minute)
let sec = document.getElementById(second)


setInterval(()=>{
    
  let currenTime = new Date();
  

hours.innerHTML = (currenTime.getHours()<10?"0":"") + currenTime.getHours();

minute.innerHTML = (currenTime.getMinutes()<10?"0":"") + currenTime.
getMinutes();

second.innerHTML = (currenTime.getSeconds()<10?"0":"")+ currenTime.
getSeconds();
},1000)
 
if(hours == 0){
hours = 12;
}
2

There are 2 best solutions below

0
Brett Donald On

Use the hour12 option of the toLocaleTimeString() method.

const d = new Date()
console.log(d.toLocaleTimeString(undefined, { hour12: true }))

1
moon On

let hrs = document.getElementById(hours)
let min = document.getElementById(minute)
let sec = document.getElementById(second)


setInterval(()=>{
    
  let currenTime = new Date();
  let Hours= currenTime.getHours()
  if(Hours>12){
    Hours=Hours-12
   }
   if(Hours<10){
   Hours="0"+Hours
   }
hours.innerHTML = Hours;

minute.innerHTML = (currenTime.getMinutes()<10?"0":"") + currenTime.
getMinutes();

second.innerHTML = (currenTime.getSeconds()<10?"0":"")+ currenTime.
getSeconds();
},1000)
 
if(hours == 0){
hours = 12;
}