fix(task): time+download bug

This commit is contained in:
zhangheng
2026-06-02 10:43:54 +08:00
parent a384897386
commit f3a348e036
5 changed files with 55 additions and 49 deletions

View File

@@ -0,0 +1,41 @@
function normalizeDurationSeconds(value: unknown) {
const totalSeconds = Number(value ?? 0)
if (!Number.isFinite(totalSeconds) || totalSeconds <= 0) {
return 0
}
return Math.floor(totalSeconds)
}
export function formatWorkTime(value: unknown) {
const normalizedSeconds = normalizeDurationSeconds(value)
if (!normalizedSeconds) {
return "00:00:00"
}
const hours = Math.floor(normalizedSeconds / 3600)
const minutes = Math.floor((normalizedSeconds % 3600) / 60)
const seconds = normalizedSeconds % 60
return [hours, minutes, seconds]
.map((part) => String(part).padStart(2, "0"))
.join(":")
}
export function formatWorkTimeHoursMinutes(value: unknown) {
const normalizedSeconds = normalizeDurationSeconds(value)
if (!normalizedSeconds) {
return "-"
}
const hours = Math.floor(normalizedSeconds / 3600)
const minutes = Math.floor((normalizedSeconds % 3600) / 60)
if (hours > 0) {
return `${hours}小时${minutes}分钟`
}
if (minutes > 0) {
return `${minutes}分钟`
}
return "-"
}