2012-02-15 71 views
0

我正在使用jquery ajax($。ajax)方法从c#webmethod获取json对象。这个json对象包含一个日期时间值,它看起来像这样'/ Date(1329324492302)/',我试图用它来解析它下面的JS如何获取从json日期过去的时间?

new Date(parseInt(json.d.Date.replace("/Date(", "").replace(")/",""), 10)) 

所得日期看起来像这样

Date {Wed Feb 15 2012 16:48:12 GMT+0000 (GMT Standard Time)}

我想找到的JavaScript从这个日期时间流逝到当前时间的时间,但我不知道该怎么办它,因为解析日期看起来像一个字符串而不是日期。

有人可以请帮忙。

感谢

回答

0
var json = {d:{Date:"/Date(1329324492302)/"}}; 

var date1 = new Date(parseInt(json.d.Date.replace("/Date(", "").replace(")/",""), 10)); 
var date2 = new Date(); 

var diff = (date2-date1); // 

var hours = Math.floor(diff/3600000); 
var minutes = Math.floor((diff % 3600000)/60000); 
var seconds = Math.floor(((diff % 3600000) % 60000)/1000); 

console.log(" elapsed " + hours + ":" + minutes + ":" + seconds); 
0

你可以这样做:

//timestamp from json 
var startTime = parseInt(json.d.Date.replace("/Date(", "").replace(")/",""), 10)) 
//current timestamp 
var endTime = new Date().getTime(); 
//difference in milliseconds 
var diff = endTime - startTime; 
+0

好,如果在同一天我能做到无功ENDTIME =新的日期()的getTime();如果是不同的一天,我应该如何处理? – kranthi 2012-02-15 17:37:52

+0

@kranthi'getTime()'得到你自unix时代以来的毫秒数 - 而不是一天的时间。所以'差异'是从一个时间点到另一个时间点的差值。无论是在另一天还是在另一年 - 无关紧要 - 仅仅是几毫秒 – Flambino 2012-02-15 18:19:41