diff --git a/packages/@core/base/shared/src/utils/date.ts b/packages/@core/base/shared/src/utils/date.ts index b56023c8..926050d1 100644 --- a/packages/@core/base/shared/src/utils/date.ts +++ b/packages/@core/base/shared/src/utils/date.ts @@ -7,7 +7,19 @@ dayjs.extend(timezone); type FormatDate = Date | dayjs.Dayjs | number | string; -export function formatDate(time: FormatDate, format = 'YYYY-MM-DD') { +type Format = + | 'HH' + | 'HH:mm' + | 'HH:mm:ss' + | 'YYYY' + | 'YYYY-MM' + | 'YYYY-MM-DD' + | 'YYYY-MM-DD HH' + | 'YYYY-MM-DD HH:mm' + | 'YYYY-MM-DD HH:mm:ss' + | (string & {}); + +export function formatDate(time?: FormatDate, format: Format = 'YYYY-MM-DD') { try { const date = dayjs.isDayjs(time) ? time : dayjs(time); if (!date.isValid()) { @@ -16,11 +28,11 @@ export function formatDate(time: FormatDate, format = 'YYYY-MM-DD') { return date.tz().format(format); } catch (error) { console.error(`Error formatting date: ${error}`); - return String(time); + return String(time ?? ''); } } -export function formatDateTime(time: FormatDate) { +export function formatDateTime(time?: FormatDate) { return formatDate(time, 'YYYY-MM-DD HH:mm:ss'); }