JSFiddle - React, Tailwind, and code Playground
JavaScript
function ms2TimeString(a,k,s,m,h){
return k=a%1e3, // optimized by konijn
s=a/1e3%60|0,
m=a/6e4%60|0,
h=a/36e5%24|0,
(h?(h<10?'0'+h:h)+':':'')+ // optimized
(m<10?0:'')+m+':'+ // optimized
(s<10?0:'')+s+'.'+ // optimized
(k<100?k<10?'00':0:'')+k // optimized
}
function ms2TimeString2(a,k,s,m,h){
return k=a%1e3, // optimized by konijn
s=(a/1e3)%60|0,
m=(a/6e4)%60|0,
h=(a/36e5)%24|0,
(h?(h<10?'0'+h:h)+':':'')+ // optimized
(m<10?0:'')+m+':'+ // optimized
(s<10?0:'')+s+'.'+ // optimized
(k<100?k<10?'00':0:'')+k // optimized
}
function ms2timeX(v,a,b,c){
a=[24,60,60,1e3];b=a.length;c=[];
while(b--)c.unshift(v%a[b]),v-=c[0],v/=a[b];
return c;
}
function msToTime(v,k,s,m,h,d,y) {
return v,
k=v%1e3,
v-=k,v/=1e3,//v=(v-k)/1e3,
s=v%60,
v-=s,v/=60,//v=(v-s)/60,
m=v%60,
v-=m,v/=60,
h=v%24,
v-=h,v/=24,
d=v%365,//365.242199
v-=d,v/=365,
y=v,
//h=(v-m)/60,
(y?y+' years ':'')+
(d?d+' days ':'')+
(h?(h<10?'0'+h:h)+' hours ':'')+
(m<10?0:'')+m+' minutes '+
(s<10?0:'')+s+' seconds '+ // optimized
(k<100?k<10?'00':0:'')+k+' milliseconds' // optimized
}
console.log(ms2TimeString(124545));
console.log(ms2TimeString2(154545));
console.log(msToTime(124545));
console.log(msToTime(124545));
console.log(msToTime(176461001));
console.log(msToTime(99200001));
console.log(msToTime(Date.now()));
console.log(ms2timeX(Date.now()));