jsonDate = "/Date(1154970000000+0700)/";
var strDate = parseInt(jsonDate.replace(/\/Date\(([-\d]+).*$/, "$1"));
var strHour = parseInt(jsonDate.replace(/.*\d([+-]\d\d).*$/, "$1"), 10);
var strMin = parseInt(jsonDate.replace(/.*\d([+-])\d\d(\d\d).*$/, "$1$2"), 10);
var date = new Date(strDate);
if (!isNaN(strHour)) date.setHours(date.getHours() + strHour);
if (!isNaN(strMin)) date.setMinutes(date.getMinutes() + strMin);
var out = date.toISOString();
以及转换为ISO的函数:
^{pr2}$[替代答案]
这是python2.x版本。对于python3.x,只需要更改测试部分中的print语句
据我通过谷歌搜索可以确定:主要成分是自1970年1月1日以来的毫秒数。可能是阴性。正数不需要
+
符号。后面可以跟UTC的可选偏移量,它由5个字符组成:一个强制符号(+
或-
),2个数字表示小时,2个数字表示分钟。以上所有内容前加“/Date”(“后接“)/”。在此答案提供了一个函数来转换JSON.NET网站一个Python
datetime.datetime
(timestamp)对象的字符串,以及两个函数,分别返回被截断为秒和毫秒的ISO格式。在脚本:
输出:
^{pr2}$返回时区感知日期时间,并为John Machin's test cases和
"/Date(1428145200000+1200)/"
提供正确的输出Python>;3.3兼容。对于2.7,使用
pytz.utc
而不是datetime.timezone.utc
。在相关问题 更多 >
编程相关推荐