2016-12-17 118 views
0

我在UTC格式以下日期: 2016-06-18T05:18:27.935Z的Javascript:轉換日期爲UTC格式

我使用下面的代碼將其轉換爲以下格式2016-06-18 05:18:27 這樣我就可以MySQL數據庫相比,它針對updatedAt列。

var date = new Date(lastRequest); 
date = date.getUTCFullYear() + '-' + 
    ('00' + (date.getUTCMonth() + 1)).slice(-2) + '-' + 
    ('00' + date.getUTCDate()).slice(-2) + ' ' + 
    ('00' + date.getUTCHours()).slice(-2) + ':' + 
    ('00' + date.getUTCMinutes()).slice(-2) + ':' + 
    ('00' + date.getUTCSeconds()).slice(-2); 

我需要的最後一個記錄的日期和轉換其追溯到UTC格式。

基本上,我怎麼從下面的格式去:2016-06-18 05:18:27回到UTC?

回答

1
new Date('2016-06-18 05:18:27').toUTCString() 

toUTCString()方法使用UTC時區將日期轉換爲字符串。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString

而事實上,你的格式,這或許是結果:

new Date('2016-06-18 05:18:27').toISOString() 

順便說一下,如果你要格式化的日期,moment.jsfecha可能會更好。

您還可以找到在How do you convert a JavaScript date to UTC?

+0

我覺得OP試圖讓** **從UTC時間字符串返回**的**一個javascript'Date'。 – 2ps

+1

@ 2PS嘛,用'新的Date()',一切都會好的。但我認爲日期商店'string'(也許'varchar'?)是錯誤的,其實'timestamp'是在MySQL更好的類型。 – SkyAo

0

類似的答案試試這個

var date = new Date(Date.now()); 
date = date.getUTCFullYear() + '-' + 
    ('00' + (date.getUTCMonth() + 1)).slice(-2) + '-' + 
    ('00' + date.getUTCDate()).slice(-2) + ' ' + 
    ('00' + date.getUTCHours()).slice(-2) + ':' + 
    ('00' + date.getUTCMinutes()).slice(-2) + ':' + 
    ('00' + date.getUTCSeconds()).slice(-2); 
print(date); 
print(date.slice(0,10)+'T'+date.slice(11,19)+'.000Z'); 

2016年12月17日4時34分28秒 2016-12-17T04:34:28.000Z

http://rextester.com/SGDV59246

+0

謝謝!有沒有辦法保留相同的'.000Z'值?即原來是'2016-06-18T05:18:27.935Z'和使用您的解決方案後,它的'2016-06-18T05:18:27.000Z' – user1107173