我有一个JSON日期,例如:"/Date(1258529233000)/“
我获得了以下代码来将此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日期格式。
然后在这两个日期之间进行日期差异,得到分钟数差异。
有人能帮我一下吗?
发布于 2009-11-19 13:29:49
javascript Date对象是所有的 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)发布于 2015-06-03 05:41:56
在现代JS实现中实现这一点的最好方法很简单:
var now = (new Date()).toJSON();这在EMCAScript 5.1中是标准化的。如果你需要支持更老的浏览器,你可以做一个长形式的版本(如果需要的话,包括像json2.js这样的东西):
var now = JSON.parse(JSON.stringify({now: new Date()})).now;https://stackoverflow.com/questions/1760608
复制相似问题