Objectif : Trouvez le local time
y UTC time offset
puis construire l'URL dans le format suivant.
Exemple d'URL : /Actions/Sleep?duration=2002-10-10T12:00:0005:00
Le format est basé sur le Recommandation du W3C . La documentation dit :
Par exemple, 2002-10-10T12:00:0005:00 (midi le 10 octobre 2002, heure d'été centrale et heure normale de l'Est aux États-Unis) est égal à 2002-10-10T17:00:00Z, soit cinq heures plus tard que 2002-10-10T12:00:00Z.
Donc, d'après ce que j'ai compris, je dois trouver mon heure locale en new Date()
puis utiliser getTimezoneOffset()
pour calculer la différence et l'attacher à la fin de la chaîne.
-
Obtenez l'heure locale avec
format
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); // 2013-07-02T09:00:00
-
Obtenir l'heure UTC décalée d'une heure
var offset = local.getTimezoneOffset() / 60; // 7
-
Construct URL (à temps partiel uniquement)
var duration = local + "-" + offset + ":00"; // 2013-07-02T09:00:00-7:00
La sortie ci-dessus signifie que mon heure locale est 2013/07/02 9h00 et que la différence avec l'UTC est de 7 heures (l'UTC est en avance de 7 heures sur l'heure locale).
Jusqu'à présent, cela semble fonctionner, mais que faire si getTimezoneOffset()
renvoie une valeur négative comme -120 ?
Je me demande à quoi devrait ressembler le format dans un tel cas, car je n'arrive pas à le comprendre à partir de la documentation du W3C.