fix: wrong record loss duration

This commit is contained in:
yangsy
2025-09-16 10:54:32 +08:00
parent d7b1536063
commit ac503816bc

View File

@@ -99,16 +99,25 @@ const formatTime = (timeStr: string) => {
const formatDuration = (startTime: string, endTime: string) => {
const start = dayjs(startTime);
const end = dayjs(endTime);
const diff = end.diff(start);
const dur = dayjs.duration(diff);
const diffMs = end.diff(start);
if (dur.asHours() >= 1) {
return `${Math.floor(dur.asHours())}小时${dur.minutes()}分钟`;
} else if (dur.asMinutes() >= 1) {
return `${dur.minutes()}分钟${dur.seconds()}`;
const isNegative = diffMs < 0;
const durAbs = dayjs.duration(Math.abs(diffMs));
const hours = Math.floor(durAbs.asHours());
const minutes = durAbs.minutes();
const seconds = durAbs.seconds();
let result: string;
if (hours > 0) {
result = `${hours}小时${minutes}${seconds}`;
} else if (minutes > 0) {
result = `${minutes}${seconds}`;
} else {
return `${dur.seconds()}`;
result = `${seconds}`;
}
return isNegative ? `-${result}` : result;
};
/**