fix: Maintenance dates display one day off due to timezone conversion (#237) #238

Merged
egullickson merged 2 commits from issue-237-fix-date-timezone into main 2026-03-24 12:55:01 +00:00
Showing only changes of commit 087f7b9fa5 - Show all commits

View File

@@ -107,17 +107,17 @@ function parseServiceDate(value: string | number | null): string | undefined {
// Try standard parsing // Try standard parsing
const date = new Date(dateStr); const date = new Date(dateStr);
if (!isNaN(date.getTime())) { if (!isNaN(date.getTime())) {
return date.toISOString().split('T')[0]; const y = date.getFullYear();
const m = String(date.getMonth() + 1).padStart(2, '0');
const d = String(date.getDate()).padStart(2, '0');
return `${y}-${m}-${d}`;
} }
// Try MM/DD/YYYY format // Try MM/DD/YYYY format
const mdyMatch = dateStr.match(/(\d{1,2})\/(\d{1,2})\/(\d{4})/); const mdyMatch = dateStr.match(/(\d{1,2})\/(\d{1,2})\/(\d{4})/);
if (mdyMatch) { if (mdyMatch) {
const [, month, day, year] = mdyMatch; const [, month, day, year] = mdyMatch;
const parsed = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`;
if (!isNaN(parsed.getTime())) {
return parsed.toISOString().split('T')[0];
}
} }
return undefined; return undefined;