2012-04-21 65 views

回答

2

如果不需要零填充,你可以這樣做:

var d = new Date("2012-04-21T07:32:16.285Z"); 

var formattedDate = d.getUTCDate() + '/' 
    + (d.getUTCMonth() + 1) + '/' 
    + d.getUTCFullYear() + ', ' 
    + d.getUTCHours() + ':' 
    + d.getUTCMinutes() + ':' 
    + d.getUTCSeconds(); 

// formattedDate is "21/4/2012, 7:32:16" 

否則你可以做點像

// zero-pad a two digit integer 
function zp(n) { 
    return (n > 9 ? '' : '0') + n; 
} 

var d = new Date("2012-04-21T07:32:16.285Z"); 

var formattedDate = zp(d.getUTCDate()) + '/' 
    + zp(d.getUTCMonth() + 1) + '/' 
    + d.getUTCFullYear() + ', ' 
    + zp(d.getUTCHours()) + ':' 
    + zp(d.getUTCMinutes()) + ':' 
    + zp(d.getUTCSeconds()); 

// formattedDate is "21/04/2012, 07:32:16" 
+0

[該日期構造函數在IE <9中無效](http: //stackoverflow.com/a/10142754/1233508) – DCoder 2012-04-21 08:04:48

+0

這只是一個例子。我認爲他已經有了日期對象,儘管我不清楚'ISODate(「2012-04-21T07:32:16.285Z」)'應該是什麼(儘管我計算了Date對象)。 – 2012-04-21 08:09:54

+1

此外,此輸入字符串採用W3C推薦的格式。 IE不支持推薦格式的事實意味着他們有一個需要修正的錯誤。 Moz和Chrome也有類似的錯誤。最好避免將字符串傳遞到生產日期。 – 2012-04-21 08:13:55

相關問題