|
|
@@ -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');
|
|
|
}
|
|
|
|