1
0
Fork 0
mirror of https://github.com/CorentinTh/it-tools.git synced 2025-08-04 13:05:17 +02:00

refactor(chronometer): improved chronometer precision

This commit is contained in:
Corentin Thomasset 2022-08-04 09:06:42 +02:00
parent fda0b0ca25
commit e48d60b1ed
No known key found for this signature in database
GPG key ID: 3103EB5E79496F9C
3 changed files with 37 additions and 17 deletions

View file

@ -1,10 +1,8 @@
export function formatChronometerTime({ elapsed, msPerUnit = 1 }: { elapsed: number; msPerUnit?: number }) {
const elapsedMs = elapsed * msPerUnit;
const ms = elapsedMs % 1000;
const secs = ((elapsedMs - ms) / 1000) % 60;
const mins = (((elapsedMs - ms) / 1000 - secs) / 60) % 60;
const hrs = (((elapsedMs - ms) / 1000 - secs) / 60 - mins) / 60;
export function formatMs(msTotal: number) {
const ms = msTotal % 1000;
const secs = ((msTotal - ms) / 1000) % 60;
const mins = (((msTotal - ms) / 1000 - secs) / 60) % 60;
const hrs = (((msTotal - ms) / 1000 - secs) / 60 - mins) / 60;
const hrsString = hrs > 0 ? `${hrs.toString().padStart(2, '0')}:` : '';
return `${hrsString}${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}.${ms