Como ISO 8601 formata uma data com deslocamento de fuso horário em JavaScript?

Objetivo: Encontre olocal time eUTC time offset Em seguida, construa o URL no seguinte formato.

URL do exemplo: / Ações / duração do sono = 2002-10-10T12: 00: 00-05: 00

O formato é baseado na recomendação do 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, horário de verão central, bem como horário padrão do leste dos EUA) é igual a 2002-10-10T17: 00: 00Z, cinco horas depois de 2002-10-10T12: 00: 00Z.

Então, com base em meu entendimento, eu preciso encontrar meu horário local usando a nova Date () e então usar a função getTimezoneOffset () para calcular a diferença e então anexá-la ao final da string.

1. Obter horário local com formato

var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)

saída

2013-07-02T09:00:00

2.Obter o deslocamento da hora UTC por hora

var offset = local.getTimezoneOffset() / 60;

saída

7

3.Construir URL (parte do tempo apenas)

var duration = local + "-" + offset + ":00";

saída:

2013-07-02T09:00:00-7:00

A saída acima significa que a minha hora local é 2013/07/02 9h e a diferença do UTC é de 7 horas (a UTC é 7 horas antes da hora local)

Até agora parece funcionar, masE se getTimezoneOffset () retornar um valor negativo como -120?

Eu estou querendo saber como o formato deve ser, nesse caso, porque eu não consigo descobrir a partir do documento W3C. Desde já, obrigado.

questionAnswers(4)

yourAnswerToTheQuestion