Цель: Найти local time
и UTC time offset
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.
Исходя из моего понимания, мне нужно найти свое местное время с помощью новой функции Date(), затем использовать функцию getTimezoneOffset() для вычисления разницы, а затем присоединить ее к концу строки.
1. Получите местное время в формате
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
выход
2013-07-02T09:00:00
Смещение времени UTC 2.Get на час
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. Заранее спасибо.