fix: wrong record loss duration
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user