Comment convertir l'heure 12h AM/PM en heure 24h en JavaScript ?

Réponses rédigées par Antoine
Dernière mise à jour : 2022-08-10 15:09:50
Thèmes : javascript - heure - am - pm
Question

Bonjour,

J'ai une heure au format anglais 12 heures : 08:24:15 PM. Je cherche un moyen, en JavaScript, de la convertir au format français 24 heures : 20:24:15.

Merci.

Réponse

Vous devrez créer une fonction JavaScript pour convertir une heure au format 12h AM/PM en heure 24h.

Si l'heure est est présentée comme ceci hh:mm:ss AM (ou PM), vous pouvez créer un tableau et vérifier si le 9ème caractère est un A ou un P .

Dès lors quelques simples opérations mathématiques permettent de convertir une heure au format 12h en heure au format 24h :

<script>
function convertirHeure(heure) {
    var h1 = Number(heure[1] - '0');
    var h2 = Number(heure[0] - '0');
    var hh = (h2 * 10 + h1 % 10);
var heure24 = "";
    if (heure[9] == 'A')
    {
        if (hh == 12)
        {
            heure24 += "00";
            for (let i=2; i <= 7; i++)
            {
                heure24 += heure[i];
            }
        }
        else
        {
            for (let i=0; i <= 7; i++)
            {
                heure24 += heure[i];
            }
        }
    }
    if (heure[9] == 'P')
    {
        if (hh == 12)
        {
            heure24 += "12";
            for (let i=2; i <= 7; i++)
            {
                heure24 += heure[i];
            }
        }
        else
        {
            hh = hh + 12;
            heure24 += hh;
            for (let i=2; i <= 7; i++)
            {
                heure24 += heure[i];
            }
        }
    }
return heure24;
}

var exemple = "08:24:15 PM";
alert(convertirHeure(exemple));
</script>