如何使用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日期格式。
然后做这两个日期之间的日期差异,并得到分钟数的差异。
有人可以帮助我吗?
答
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;
可能重复:http://stackoverflow.com/questions/206384/how-to-格式json日期 – mauris 2009-11-19 03:23:37
@thephpdeveloper:我不明白这是怎么回事。这与计算日期之间的差异有关,这与日期格式有关。 – 2009-11-19 03:54:35