如何使用Javascript获取JSON格式的当前UTC时间?

问题描述:

我有一个JSON日期例如:“/ Date(1258529233000)/”如何使用Javascript获取JSON格式的当前UTC时间?

我得到下面的代码将此JSON日期转换为UTC格式的日期。

var s = "\\/Date(1258529233000)\\/"; 
s = s.slice(7, 20); 
var n = parseInt(s); 
var d = new Date(n); 
alert(d.toString()); 

现在我需要获得当前UTC日期与时间,并把它转换成JSON日期格式。

然后做这两个日期之间的日期差异,并得到分钟数的差异。

有人可以帮助我吗?

+0

可能重复:http://stackoverflow.com/questions/206384/how-to-格式json日期 – mauris 2009-11-19 03:23:37

+0

@thephpdeveloper:我不明白这是怎么回事。这与计算日期之间的差异有关,这与日期格式有关。 – 2009-11-19 03:54:35

javascript日期对象是全部 UTC直到将它们转换为字符串为止的日期。

Date.fromJsnMsec= function(jsn){ 
    jsn= jsn.match(/\d+/); 
    return new Date(+jsn) 
} 

Date.prototype.toJsnMsec= function(){ 
    return '/Date('+this.getTime()+')/'; 
} 

//test 
var s= "\/Date(1258529233000)\/"; 
var D1= Date.fromJsnMsec(s); 
var D2= new Date(); 
var diff= Math.abs(D1-D2)/60000; 
var string= diff.toFixed(2)+' minutes between\n\t'+ 
D1.toUTCString()+' and\n\t'+D2.toUTCString()+'\n\n'+s+', '+D2.toJsnMsec(); 
alert(string) 
+0

它工作。谢谢Kennebec – Sakthi 2009-11-21 18:07:51

在现代JS实现要做到这一点,最好的办法很简单:

var now = (new Date()).toJSON(); 

这EMCAScript 5.1进行了标准化。如果您需要支持旧的浏览器,你可以做一个长篇的版本(包括如果需要的话像json2.js):

var now = JSON.parse(JSON.stringify({now: new Date()})).now;