Sortie inattendue avec la gestion des fuseaux horaires

ramsay21 Messages postés 6 Date d'inscription vendredi 3 mars 2023 Statut Membre Dernière intervention 29 février 2024 - 20 sept. 2023 à 10:28
Je travaille sur un projet JavaScript qui consiste à récupérer et à afficher la date et l'heure actuelles, en tenant compte des différents fuseaux horaires. Cependant, j'ai rencontré une erreur complexe dans mon code qui entraîne des résultats inattendus, en particulier lorsqu'il s'agit de fuseaux horaires soumis à des changements d'heure d'été.

Voici le code JavaScript que j'utilise :
function getCurrentDateTime(timezone) {
    const now = new Date();
    const options = {
        timeZone: timezone,
        year: 'numeric',
        month: 'numeric',
        day: 'numeric',
        hour: 'numeric',
        minute: 'numeric',
        second: 'numeric',
    };

    const formatter = new Intl.DateTimeFormat('en-US', options);
    const formattedDate = formatter.format(now);

    return formattedDate;
}

// Example usage:
const newYorkTime = getCurrentDateTime('America/New_York');
const londonTime = getCurrentDateTime('Europe/London');
Cependant, lorsque j'exécute ce code, j'obtiens des résultats inattendus, en particulier lors des transitions vers l'heure d'été. L'heure affichée peut ne pas refléter le décalage horaire correct.
Pourriez-vous s'il vous plaît m'aider à trouver et à corriger l'erreur dans mon code afin qu'il gère de manière appropriée les fuseaux horaires et les changements d'heure d'été lors de la récupération et de l'affichage de la date et de l'heure actuelles ? J'ai essayé tellement d'autres sites comme scaler, mais je n'ai pas trouvé la solution. Si quelqu'un peut m'aider, je lui en serais reconnaissant. Merci pour votre aide pour résoudre ce problème difficile.
Rejoignez-nous