Files
Atlas/lib/date-utils.ts
2025-11-12 20:21:32 +01:00

43 lines
1.2 KiB
TypeScript

export function formatDate(date: Date | string): string {
const d = typeof date === 'string' ? new Date(date) : date;
if (isNaN(d.getTime())) {
return 'Ungültiges Datum';
}
const day = d.getDate().toString().padStart(2, '0');
const month = (d.getMonth() + 1).toString().padStart(2, '0');
const year = d.getFullYear();
return `${day}.${month}.${year}`;
}
export function formatDateTime(date: Date | string): string {
const d = typeof date === 'string' ? new Date(date) : date;
if (isNaN(d.getTime())) {
return 'Ungültiges Datum';
}
const dateStr = formatDate(d);
const hours = d.getHours().toString().padStart(2, '0');
const minutes = d.getMinutes().toString().padStart(2, '0');
return `${dateStr}, ${hours}:${minutes}`;
}
export function parseDateString(dateString: string): Date | null {
if (!dateString) return null;
// Try German format: DD.MM.YYYY or D.M.YYYY
const germanMatch = dateString.match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/);
if (germanMatch) {
const [, day, month, year] = germanMatch;
return new Date(parseInt(year), parseInt(month) - 1, parseInt(day));
}
// Try ISO format or other standard formats
const date = new Date(dateString);
return isNaN(date.getTime()) ? null : date;
}