目标:找到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(2002 年 10 月 10 日中午,美国中部夏令时和东部标准时间)等于 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 9am,与 UTC 的时差为 7 小时(UTC 比当地时间提前 7 小时)
到目前为止,它似乎有效,但如果 getTimezoneOffset() 返回负值(如 -120)怎么办?
我想知道在这种情况下格式应该如何,因为我无法从 W3C 文档中弄清楚。提前致谢。