2009-11-19 107 views
0

我有一個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

回答

2

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

0

在現代JS實現要做到這一點,最好的辦法很簡單:

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

這EMCAScript 5.1進行了標準化。如果您需要支持舊的瀏覽器,你可以做一個長篇的版本(包括如果需要的話像json2.js):

var now = JSON.parse(JSON.stringify({now: new Date()})).now; 
相關問題