Objetivo: Encontre o local time
e, em UTC time offset
seguida, construa o URL no seguinte formato.
URL de exemplo: / Actions / Sleep? Duration = 2002-10-10T12: 00: 00−05: 00
O formato é baseado na recomendação W3C: http://www.w3.org/TR/xmlschema11-2/#dateTime
A documentação diz:
Por exemplo, 2002-10-10T12: 00: 00−05: 00 (meio-dia em 10 de outubro de 2002, Central Daylight Savings Time, bem como Eastern Standard Time nos EUA) é igual a 2002-10-10T17: 00: 00Z, cinco horas depois de 2002-10-10T12: 00: 00Z.
Portanto, com base no meu entendimento, preciso encontrar minha hora local por new Date () e usar a função getTimezoneOffset () para calcular a diferença e anexá-la ao final da string.
1. Obtenha a hora local com formato
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
resultado
2013-07-02T09:00:00
2. Obtenha a diferença horária UTC por hora
var offset = local.getTimezoneOffset() / 60;
resultado
7
3. Construir URL (apenas parte do tempo)
var duration = local + "-" + offset + ":00";
resultado:
2013-07-02T09:00:00-7:00
O resultado acima significa que meu horário local é 02/07/2013 e a diferença do UTC é de 7 horas (o UTC está 7 horas à frente do horário local)
Até agora parece funcionar, mas e se getTimezoneOffset () retornar um valor negativo como -120?
Estou me perguntando como o formato deve ser nesse caso, porque não consigo descobrir a partir do documento W3C. Desde já, obrigado.