Bonjour,
Un membre d'ici, Wolan, m'a créé une extension Google Chrome qui me sert à extraire des données d'une page web.
Chaque instructions étaient auparavant, pour la date, l'heure et le timezone, sous cette forme:
2017-12-27 07:00 CET
désormais elles seront sous cette forme
2017-12-27 06:00 UTC
J'aimerais connaitre si via une checkbox nommée 'Local Time', il serait possible de mettre cette affichage sous cette forme
2017-12-27 07:00 UTC+1
?
J'arrive à générer le "+1" via ce code
var offset = (new Date().getTimezoneOffset())*(-1);
function CltTimeZone(offset) {
var posneg = (offset < 0) ? "-":"+";
var h = Math.trunc( Math.abs(offset) / 60);
if (h == 0){;
return '';
};
var m = ((Math.abs(offset)/60) - h) * 60;
if (m == 0){;
return posneg+h;
} else {;
return posneg+h+':'+m;
};
};
alert (CltTimeZone(offset));
Mais je pense que je ne m'y prends pas correctement, car je vais devoir gérer les changements d'heures / de jours / de mois et d'années ... ça risque d'être une usine à gaz mon truc ...
J'ai donc continué mes recherches et je suis tombé sur la méthode Intl.DateTimeFormat().
Avec ce code
var CltTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone; // Europe/Paris
je suis capable de déterminer le fuseau horaire mais après je l'exploite comment ?
Quelle est la méthode qui serait capable de me générer ce rendu
2017-12-27 07:00 UTC+1
via la variable CltTimeZone qui me retourne Europe/Paris ?
J'ai dans l'idée qu'une regex pourrait extraire ce dont j'ai besoin, je pourrais donc agir dessus, en fonction de la réponse obtenue concernant le fuseau horaire, et une méthode que je ne connais pas pourrait me donner la finalité voulue ...
1-> TimeZone:
var CltTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone; // Europe/Paris
2-> Extraction des données à traiter :
(([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}) ([A-Z]{3})) // 2017-12-27 06:00 UTC
3-> Modifications de ces données via une méthode
4-> Finalité du traitement :
2017-12-27 07:00 UTC+1
Je suis preneur d'infos et de conseils pour réaliser ce que je souhaite
Merci