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
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>