Files
Owlerlay/src/shared/time/format.ts

18 lines
484 B
TypeScript

type DurationLike = {
secs?: number;
nanos?: number;
};
export function formatDuration(value: DurationLike): string {
const totalSeconds = Math.max(0, Math.floor(value.secs ?? 0));
const hours = Math.floor(totalSeconds / 3600)
.toString()
.padStart(2, "0");
const minutes = Math.floor((totalSeconds % 3600) / 60)
.toString()
.padStart(2, "0");
const seconds = (totalSeconds % 60).toString().padStart(2, "0");
return `${hours}:${minutes}:${seconds}`;
}