Objectif: Trouver la local time
et UTC time offset
puis construire l'URL au format suivant.
Exemple d'URL: / Actions / Sleep? Duration = 2002-10-10T12: 00: 00−05: 00
Le format est basé sur la recommandation du W3C: http://www.w3.org/TR/xmlschema11-2/#dateTime
La documentation dit:
Par exemple, 2002-10-10T12: 00: 00−05: 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, cinq heures plus tard que le 2002-10-10T12: 00: 00Z.
Donc, sur la base de ma compréhension, je dois trouver mon heure locale par new Date () puis utiliser la fonction getTimezoneOffset () pour calculer la différence, puis l'attacher à la fin de la chaîne.
1. obtenez l'heure locale avec le format
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
production
2013-07-02T09:00:00
2.Obtenir le décalage horaire UTC par heure
var offset = local.getTimezoneOffset() / 60;
production
7
3. URL de construction (partie temporelle uniquement)
var duration = local + "-" + offset + ":00";
production:
2013-07-02T09:00:00-7:00
La sortie ci-dessus signifie que mon heure locale est le 02/07/2013 à 9h et que la différence par rapport à l'UTC est de 7 heures (UTC est 7 heures en avance 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 ne peux pas comprendre à partir du document W3C. Merci d'avance.