2013-04-29 51 views
0

我有一個字符串2013-04-29T14:26:59Z,我想將它轉換爲2013-04-29 14:26:59 UTC。我該怎麼做,我已經搜索並嘗試了一些我的螢火蟲控制檯的例子,但我沒有設法產生類似的結果。將時間從服務器轉換爲UTC時間

我試過建議從以下職位,以及:

How do I convert a string to a UTC date? How to change the date format in jquery

是否有更好的方式來實現其它所需的輸出,這:

dt = new Date('2013-04-29T14:26:59Z') 

dt.getFullYear() + '-' + '0' +(dt.getUTCMonth() + 1) + '-' + dt.getUTCDate() + ' ' + dt.getUTCHours() + ':' + dt.getUTCMinutes() + ':' + dt.getUTCSeconds() + ' UTC' 

http://jsfiddle.net/QLXHz/

+0

它會很好,如果JS有一個printf()類型的日期格式化程序,但不是。你堅持使用多個方法調用和字符串連接。 – 2013-04-29 14:45:18

回答

0

那麼,你可以嘗試這樣的事情:

function date_to_utc_string(date) { // rename as convenient :p 
    var format = [["FullYear","-"],["Month","-"],["Date"," "],["Hours",":"],["Minutes",":"],["Seconds"," UTC"]], 
    l = format.length, pad = function(x) {return (x<10?"0":"")+x;}, i, t, ret=""; 
    for(i=0; i<l; i++) { 
    t = date["getUTC"+format[i][0]](); 
    if(format[i][0] == "Month") t++; 
    ret += pad(t)+format[i][1]; 
    } 
    return ret; 
} 

這是一個基本的日期格式化程序,它只輸出您詢問的一種格式。

使用此功能,您只需撥打date_to_utc_string(dt)即可獲得格式化的字符串。