From 41335ae99cc39a51c1056589f1353afe95d5a3b2 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 30 Jan 2024 17:18:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=9C=8B=E6=9D=BF=E9=80=9A=E8=AF=9D?= =?UTF-8?q?=E6=97=B6=E9=95=BF=E6=A0=BC=E5=BC=8F=E5=8C=96hms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/date-utils.ts | 23 +++++++++++++++++++ .../components/UserActivity/index.vue | 3 ++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/utils/date-utils.ts b/src/utils/date-utils.ts index f739569a..c82d78d4 100644 --- a/src/utils/date-utils.ts +++ b/src/utils/date-utils.ts @@ -73,6 +73,29 @@ export function diffValue( return value; } +/** + * 格式化秒值为 ?h?m?s + * @param seconds 2558 秒 + * @returns 1h42m38s + */ +export function parseDuration(seconds: number | string) { + seconds = Number(seconds) || 0; + const duration = dayjs().startOf('day').subtract(seconds, 'seconds'); + const secondsLeft = duration.format('s'); + const minutes = duration.format('m'); + const hours = duration.format('H'); + if (+hours > 0) { + return `${hours}h${minutes}m${secondsLeft}s`; + } + if (+minutes > 0) { + return `${minutes}m${secondsLeft}s`; + } + if (+secondsLeft > 0) { + return `${secondsLeft}s`; + } + return `${seconds}s`; +} + /** * 格式时间不带年份 * diff --git a/src/views/dashboard/overview/components/UserActivity/index.vue b/src/views/dashboard/overview/components/UserActivity/index.vue index a1b610c7..6e67b3cb 100644 --- a/src/views/dashboard/overview/components/UserActivity/index.vue +++ b/src/views/dashboard/overview/components/UserActivity/index.vue @@ -1,4 +1,5 @@