Цель: найти local time
и UTC time offset
построить URL в следующем формате.
Пример URL: / Actions / Sleep? Duration = 2002-10-10T12: 00: 00−05: 00
Формат основан на рекомендации W3C: http://www.w3.org/TR/xmlschema11-2/#dateTime.
В документации говорится:
Например, 2002-10-10T12: 00: 00−05: 00 (полдень 10 октября 2002 года по центральному летнему времени, а также по восточному поясному времени в США) равно 2002-10-10T17: 00: 00Z, на пять часов позже 2002-10-10T12: 00: 00Z.
Итак, исходя из моего понимания, мне нужно найти мое местное время с помощью new Date (), затем использовать функцию getTimezoneOffset (), чтобы вычислить разницу, а затем прикрепить ее к концу строки.
1. получить местное время с форматом
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
вывод
2013-07-02T09:00:00
2. получить смещение времени UTC на час
var offset = local.getTimezoneOffset() / 60;
вывод
7
3.Создание URL (только временная часть)
var duration = local + "-" + offset + ":00";
вывод:
2013-07-02T09:00:00-7:00
Приведенный выше результат означает, что мое местное время - 2013/07/02, 9 утра, а разница от UTC составляет 7 часов (UTC на 7 часов опережает местное время)
Пока кажется, что это работает, но что, если getTimezoneOffset () вернет отрицательное значение, например -120?
Мне интересно, как должен выглядеть формат в таком случае, потому что я не могу понять из документа W3C. Заранее спасибо.