Files
module-farmasi/utils/datetime.ts
T
2026-04-10 14:40:11 +07:00

32 lines
879 B
TypeScript

type DateInput = Date | string | number | null | undefined;
const pad2 = (value: number) => String(value).padStart(2, '0');
const toDate = (input: DateInput): Date | null => {
if (input == null) return null;
if (input instanceof Date) {
return Number.isNaN(input.getTime()) ? null : input;
}
const date = new Date(input);
return Number.isNaN(date.getTime()) ? null : date;
};
/**
* Format datetime to `d-m-Y H:i` (e.g. `07-04-2026 14:05`).
* Uses local time.
*/
export const formatDateTime = (input: DateInput, fallback = '-') => {
const date = toDate(input);
if (!date) return fallback;
const day = pad2(date.getDate());
const month = pad2(date.getMonth() + 1);
const year = String(date.getFullYear());
const hours = pad2(date.getHours());
const minutes = pad2(date.getMinutes());
return `${day}-${month}-${year} ${hours}:${minutes}`;
};