2014-05-21 37 views
0

我想插入RCF2822格式的時間戳,例如Tue, 31 Dec 2013 23:00:00 +0000。你推薦什麼數據類型?RCF2822格式的日期時間是否有數據類型?

我需要有RCF2822格式的日期時間,因爲我需要它生成的時區,以便它也可以在多年之間進行轉換。

在可替代的,我可以插入格式的ISO 8601日期時間,例如2008-04-16T11:43:32+02:00

+0

什麼是* RCF2822 *格式? –

+0

@juergend:我確定日期時間定義爲http://tools.ietf.org/html/rfc2822#section-3.3 – VMai

+0

我建議兩列:a)'DATETIME'或'TIMESTAMP'作爲UTC以獲得按時間順序排列順序和b)具有相同數據類型(首選)的本地時間或作爲TIME的偏移量。 – VMai

回答

0

你應該讓數據庫決定如何儲存。 MySQL日期時間stores data in UTC內部。你可以嘗試,包括在一個單獨的列的時區,並使用Convert_Tz如下:

select convert_tz(datetimecolumn, timezonecolumn, 'Europe/Bucharest'); 

時區列表可以使用mysql_tzinfo_to_sql如下裝載到MySQL:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql 

希望有所幫助。

+0

'TIMESTAMP'在存儲之前轉換爲UTC,而不是'DATETIME',請參閱手冊(您的鏈接):_MySQL將TIMESTAMP值從當前時區轉換爲UTC存儲,並從UTC轉回當前時區以供檢索。 (對於其他類型,例如DATETIME,這不會發生。)_ – VMai

相關問題