Les dates en JS et les UTC, compte à rebours

Avatar du membre
Mammouth du PHP | 1182 Messages

10 déc. 2022, 12:38

Je suis en train de réaliser un compte à rebours en JS, le problème est que je tente de savoir quand est ce que "now - date_butoire > 0" car date_butoire a 1h en plus (Fuseau Europe/Paris, sans doute)

Je ne parviens pas à trouver comment mettre le "now" avec le UTC, il est indiqué que la date prends en compte la date de l'appareil où le script est uitilisé, je comprends pas pourquoi "date_butoire" prend une heure en plus.

J'ai donc fait un hack en vérifiant si dans la date butoire on indique un UTC, dans mon cas j'ai du l'indiquer pour correspondre avec "now" :

Code : Tout sélectionner

//date fin compte à rebours avec votre UTC (ISO 8601) let date_butoire1 = '2022-12-10T01:40:00+02:00';//je dois rajouter +2 pour avoir le bon temps restant, c'est là que je comprends pas //calcul l'UTC pour connaitre la fin par rapport à la date de fin let date_butoire = new Date(date_butoire1); //sait si c'est UTC + ou - let UTC = date_butoire1[19]; //split à + ou - pour prendre la date sans UTC let array_date_butoire = date_butoire1.split(UTC); let date_butoire_sans_utc = new Date(array_date_butoire[0]); //time de defaut à combler let defaut_time = date_butoire.getTime() - date_butoire_sans_utc.getTime(); //si c'est la fin if(date_actuelle.getTime() - (date_butoire.getTime() - defaut_time) > 0){ console.log("termine"); }