2022-07-24 18:28:06 +02:00
|
|
|
import { formatDuration } from 'date-fns';
|
2024-02-21 01:37:59 +08:00
|
|
|
import type { Locale } from 'date-fns';
|
2022-07-24 18:28:06 +02:00
|
|
|
|
2024-02-21 01:37:59 +08:00
|
|
|
export function formatMsDuration(duration: number, locale: Locale) {
|
2022-07-24 18:28:06 +02:00
|
|
|
const ms = Math.floor(duration % 1000);
|
|
|
|
const secs = Math.floor(((duration - ms) / 1000) % 60);
|
|
|
|
const mins = Math.floor((((duration - ms) / 1000 - secs) / 60) % 60);
|
|
|
|
const hrs = Math.floor((((duration - ms) / 1000 - secs) / 60 - mins) / 60);
|
|
|
|
|
|
|
|
return (
|
|
|
|
formatDuration({
|
|
|
|
hours: hrs,
|
|
|
|
minutes: mins,
|
|
|
|
seconds: secs,
|
2024-02-21 01:37:59 +08:00
|
|
|
}, { locale }) + (ms > 0 ? ` ${ms} ms` : '')
|
2022-07-24 18:28:06 +02:00
|
|
|
);
|
|
|
|
}
|