最佳答案
目标: 找到 local time
和 UTC time offset
,然后按照以下格式构造 URL。
示例 URL: /Actions/Sleep?duration=2002-10-10T12:00:00−05:00
这种格式是基于 W3C推荐标准的,文档上说:
例如,2002-10-10 T12:00:00-05:00(2002年10月10日中午, 美国中央夏令时和东部标准时) 等于2002-10-10 T17:00:00Z,比2002-10-10 T12:00:00Z 晚5个小时。
所以根据我的理解,我需要找到我的本地时间由 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/029 am,与 UTC 的差距是7小时(UTC 比本地时间提前7小时)
到目前为止,它似乎工作,但如果 getTimezoneOffset()
返回负值喜欢 -120?
我想知道在这种情况下格式应该是什么样子的,因为我无法从 W3C 文档中找到答案。