目标: 查找本地时间和UTC时间偏移量,然后按以下格式构造URL。
示例URL: /Actions/Sleep?duration=2002-10-10T12:00:00−05:00
该格式基于W3C推荐。文档说明如下:
例如,2002-10-10T12:00:00−05:00(2002年10月10日中午,美国中部夏令时和东部标准时间)等同于2002-10-10T17:00:00Z,比2002-10-10T12:00:00Z晚五个小时。
因此,根据我的理解,我需要使用 new Date()
获取本地时间,然后使用 getTimezoneOffset()
函数计算差异,然后将其附加到字符串末尾。
使用
format
获取本地时间
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); // 2013-07-02T09:00:00
按小时获取UTC时间偏移量
var offset = local.getTimezoneOffset() / 60; // 7
构建URL(仅限时间部分)
var duration = local + "-" + offset + ":00"; // 2013-07-02T09:00:00-7:00
上面的输出意味着我的本地时间是2013/07/02 早上9点,与UTC的差别是7小时(UTC比当地时间快7小时)。到目前为止,它似乎可以工作,但如果
getTimezoneOffset()
返回负值,例如-120怎么办?我想知道在这种情况下格式应该是什么样子,因为我从W3C文档中无法弄清楚。