Obiettivo: trova local time
e UTC time offset
costruisci l'URL nel seguente formato.
URL di esempio: / Actions / Sleep? Duration = 2002-10-10T12: 00: 00−05: 00
Il formato si basa sulla raccomandazione del W3C: http://www.w3.org/TR/xmlschema11-2/#dateTime
La documentazione dice:
Ad esempio, 2002-10-10T12: 00: 00−05: 00 (mezzogiorno del 10 ottobre 2002, Central Daylight Savings Time e Eastern Standard Time negli Stati Uniti) è uguale a 2002-10-10T17: 00: 00Z, cinque ore dopo il 2002-10-10T12: 00: 00Z.
Quindi, in base alla mia comprensione, ho bisogno di trovare la mia ora locale con new Date (), quindi utilizzare la funzione getTimezoneOffset () per calcolare la differenza, quindi collegarla alla fine della stringa.
1. Ottieni l'ora locale con il formato
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
produzione
2013-07-02T09:00:00
2.Ottieni un offset di ora UTC per ora
var offset = local.getTimezoneOffset() / 60;
produzione
7
3.Costruisci URL (solo parte temporale)
var duration = local + "-" + offset + ":00";
produzione:
2013-07-02T09:00:00-7:00
L'output sopra indica che la mia ora locale è 2013/07/02 9am e la differenza dall'UTC è 7 ore (UTC è 7 ore avanti rispetto all'ora locale)
Finora sembra funzionare ma cosa succede se getTimezoneOffset () restituisce un valore negativo come -120?
Mi chiedo come dovrebbe apparire il formato in questo caso perché non riesco a capire dal documento W3C. Grazie in anticipo.