Checkpoint: Correction complète et définitive du décalage horaire. Toutes les fonctions de formatage de dates ont été réécrites pour parser manuellement les chaînes MySQL sans passer par new Date() qui provoquait des conversions UTC. Les corrections incluent : parseLocalDateTime côté serveur, safeFormatDate dans le formulaire d'édition, formatDate dans AdminSequences, Inscription et AdminSequenceInscrits. L'heure saisie correspond désormais exactement à l'heure affichée partout dans l'application.
This commit is contained in:
@@ -167,14 +167,25 @@ export default function AdminSequenceInscrits() {
|
||||
return formations.find((f) => f.id === sequence.formationId)?.nom || "N/A";
|
||||
};
|
||||
|
||||
const formatDate = (date: Date) => {
|
||||
return new Date(date).toLocaleDateString("fr-FR", {
|
||||
day: "2-digit",
|
||||
month: "2-digit",
|
||||
year: "numeric",
|
||||
hour: "2-digit",
|
||||
minute: "2-digit",
|
||||
});
|
||||
const formatDate = (dateValue: any) => {
|
||||
if (!dateValue) return "N/A";
|
||||
|
||||
try {
|
||||
// Parser la date MySQL sans conversion UTC
|
||||
const dateStr = String(dateValue);
|
||||
const match = dateStr.match(/(\d{4})-(\d{2})-(\d{2})[T ]?(\d{2}):(\d{2})/);
|
||||
|
||||
if (!match) {
|
||||
console.warn('Format de date non reconnu:', dateValue);
|
||||
return "N/A";
|
||||
}
|
||||
|
||||
const [, year, month, day, hours, minutes] = match;
|
||||
return `${day}/${month}/${year} ${hours}:${minutes}`;
|
||||
} catch (error) {
|
||||
console.error('Erreur de formatage de date:', error, dateValue);
|
||||
return "N/A";
|
||||
}
|
||||
};
|
||||
|
||||
const getStatutBadge = (statut: string) => {
|
||||
|
||||
Reference in New Issue
Block a user