/** * Utilitaires pour la gestion des dates * Gère correctement les conversions entre heure locale et UTC */ /** * Convertit une chaîne datetime-local (format: "2025-01-15T14:30") en Date * en préservant l'heure locale (pas de conversion UTC) */ export function parseLocalDateTime(dateTimeString: string): Date { // Le format datetime-local est "YYYY-MM-DDTHH:mm" // On ajoute ":00" pour les secondes si nécessaire const normalized = dateTimeString.length === 16 ? `${dateTimeString}:00` : dateTimeString; // Créer la date en heure locale const date = new Date(normalized); return date; } /** * Formate une Date en chaîne datetime-local pour les inputs HTML * Format: "YYYY-MM-DDTHH:mm" */ export function formatToLocalDateTime(date: Date): string { const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); return `${year}-${month}-${day}T${hours}:${minutes}`; }