2012-11-25 67 views
3

可能重複:
Convert a date to string in Javascript格式JSON日期時間在客戶端的JavaScript或jQuery的

我有一個JSON格式日期在客戶端:

/Date(1352745000000)/ 

代碼我試圖解析JSON日期:

eval(dateTime.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")); 

new Date(parseInt(dateTime.substr(6))); 

出把我越來越:

Tue Nov 27 2012 00:00:00 GMT+0530 (India Standard Time) 

慾望輸出

2012-11-27 11:16 

我無法弄清楚我們將如何得到這個。

+0

那'eval'是完全不必要的,而且是不正確的。 –

+0

@Asad:它工作正常http://stackoverflow.com/questions/206384/how-to-format-a-json-date –

回答

6
var date = new Date(parseInt(dateTime.substr(6))); 
var formatted = date.getFullYear() + "-" + 
     ("0" + (date.getMonth() + 1)).slice(-2) + "-" + 
     ("0" + date.getDate()).slice(-2) + " " + date.getHours() + ":" + 
     date.getMinutes(); 
+0

錯誤,getMonth()不會這樣工作 - 它給出從零開始的數字月。 – Tadeck

+0

你還需要填寫小時和分鐘 – Bruno

+0

@布魯諾不知道這是否是必需的,但它會以完全相同的方式完成。順便說一句,謝謝編輯Riateche –

5

最好不要嘗試節省空間與這一個:)

var str, year, month, day, hour, minute, d, finalDate; 

str = "/Date(1352745000000)/".replace(/\D/g, ""); 
d = new Date(parseInt(str)); 

year = d.getFullYear(); 
month = pad(d.getMonth() + 1); 
day = pad(d.getDate()); 
hour = pad(d.getHours()); 
minutes = pad(d.getMinutes()); 

finalDate = year + "-" + month + "-" + day + " " + hour + ":" + minutes; 

function pad(num) { 
    num = "0" + num; 
    return num.slice(-2); 
} 
+1

偉大的作品...所有這一切都添加到另一個功能,例如:FormateJsonDate(_DateToFormat){} – usefulBee

相關問題