目标:找到local time
和UTC time offset
,然后构造以下格式的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晚5小时。
因此,根据我的理解,我需要通过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上午9点,与UTC相差7小时(UTC比本地时间早7小时)
到目前为止,它似乎是有效的,但是如果getTimezoneOffset()返回负值怎么办,比如-120?
我想知道在这种情况下格式应该是什么样子,因为我不能从W3C文档中弄清楚。提前谢谢。
https://stackoverflow.com/questions/17415579
复制相似问题