Owe*_*wen 3 javascript wcf datetime date
我有一个WCF服务,为我的javascript提供一些日期.我想操纵日期,但它到达javascript看起来像这样:
/Date(1361145600000+0000)/
Run Code Online (Sandbox Code Playgroud)
我知道这是自1970/01/01以来的几毫秒,但我还没有弄清楚如何将它转换为javascript日期.
我是否需要使用正则表达式或修剪文本来提取毫秒,然后像这样使用它:
new Date(miliseconds)
Run Code Online (Sandbox Code Playgroud)
当然必须有一个更简单的方法吗?
如果'+ 0000'是标准时区偏移量,则前2位是小时,最后2位是分钟.
据推测它并不总是'0000' -
您需要添加(或减去)从UTC到第一个整数部分的毫秒差异,以返回正确的日期.
function timeconvert(ds){
var D, dtime, T, tz, off,
dobj= ds.match(/(\d+)|([+-])|(\d{4})/g);
T= parseInt(dobj[0]);
tz= dobj[1];
off= dobj[2];
if(off){
off= (parseInt(off.substring(0, 2), 10)*3600000)+
(parseInt(off.substring(2), 10)*60000);
if(tz== '-') off*= -1;
}
else off= 0;
return new Date(T+= off).toUTCString();
}
timeconvert('Date(1361145600000)+0000');
Run Code Online (Sandbox Code Playgroud)
//返回值:(String UTC)
2013年2月18日星期一00:00:00 GMT
如果日期ARE在UTC("+0000")总是你可以拉显著数字从与字符串
function timeconvert(ds){
var d=ds.match(/(\d+)/)[1];
return new Date(+d).toUTCString();
}
timeconvert('Date(1361145600000)+0000)');
// returned value: (String UTC)
Mon, 18 Feb 2013 00:00:00 GMT
Run Code Online (Sandbox Code Playgroud)