(fix): date formatting

This commit is contained in:
ManishMadan2882
2025-02-05 03:31:17 +05:30
parent c20fe7a773
commit 1ffe0ad85c

View File

@@ -1,39 +1,20 @@
export function formatDate(dateString: string): string {
try {
if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(dateString)) {
const dateTime = new Date(dateString);
return dateTime.toLocaleTimeString([], {
hour: '2-digit',
minute: '2-digit',
});
} else if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(dateString)) {
const dateTime = new Date(dateString);
return dateTime.toLocaleTimeString([], {
hour: '2-digit',
minute: '2-digit',
});
} else if (/^\d{4}-\d{2}-\d{2}$/.test(dateString)) {
const date = new Date(dateString);
if (isNaN(date.getTime())) {
throw new Error('Invalid date');
}
const userLocale = navigator.language || 'en-US';
const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
const weekday = date.toLocaleDateString(userLocale, {
weekday: 'short',
timeZone: userTimezone,
});
const monthDay = date.toLocaleDateString(userLocale, {
day: '2-digit',
month: 'short',
year: 'numeric',
timeZone: userTimezone,
});
const time = date
.toLocaleTimeString(userLocale, {
hour: 'numeric',
minute: '2-digit',
second: '2-digit',
hour12: true,
timeZone: userTimezone,
})
.replace(/am|pm/i, (match) => match.toUpperCase());
return `${weekday}, ${monthDay} ${time}`;
} catch (error) {
console.error('Error formatting date:', error);
return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
} else {
return dateString;
}
}