From 9215d9496982d7ed62e7b2eb567363a95deee5e0 Mon Sep 17 00:00:00 2001 From: JoaoBianco Date: Tue, 12 Dec 2023 18:45:53 -0300 Subject: [PATCH] Add formatTime function --- src/helpers/formatTime.ts | 32 ++++++++++++++++++++++++++++++++ src/package.json | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/helpers/formatTime.ts diff --git a/src/helpers/formatTime.ts b/src/helpers/formatTime.ts new file mode 100644 index 0000000..c4da9a1 --- /dev/null +++ b/src/helpers/formatTime.ts @@ -0,0 +1,32 @@ +/** + * Format time in seconds to a readable format. + * @param {number} totalSeconds - Time in seconds + * @returns {string} A string that contains the formatted time + * + * @example + * // returns '1d 01h 01m 01s' + * formatTime(90061) + */ + +export function formatTime(totalSeconds: number): string { + const seconds = totalSeconds % 60 + const minutes = Math.floor(totalSeconds / 60) % 60 + const hours = Math.floor(totalSeconds / 3600) % 24 + const days = Math.floor(totalSeconds / 86400) + + if (days > 0) { + return `${days}d ${hours.toString().padStart(2, '0')}h ${minutes + .toString() + .padStart(2, '0')}m ${seconds.toString().padStart(2, '0')}s` + } else if (hours > 0) { + return `${hours.toString().padStart(2, '0')}h ${minutes + .toString() + .padStart(2, '0')}m ${seconds.toString().padStart(2, '0')}s` + } else if (minutes > 0) { + return `${minutes.toString().padStart(2, '0')}m ${seconds + .toString() + .padStart(2, '0')}s` + } else { + return `${seconds.toString().padStart(2, '0')}s` + } +} diff --git a/src/package.json b/src/package.json index 8f9d636..cdaebf5 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "@squidit/ngx-css", - "version": "1.2.2", + "version": "1.2.21", "peerDependencies": { "@angular/common": ">=15.0.0", "@angular/core": ">=15.0.0",