Initial commit - SaveTheMoment Atlas Basis-Setup
This commit is contained in:
42
lib/date-utils.ts
Normal file
42
lib/date-utils.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user