【发布时间】:2013-06-29 05:31:01
【问题描述】:
目标:找到local time和UTC time offset,然后按以下格式构造网址。
示例网址:/Actions/Sleep?duration=2002-10-10T12:00:00−05:00
格式基于W3C recommendation。文档说:
例如,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 文档中弄清楚。
【问题讨论】:
标签: javascript timezone date-formatting