2012-04-07 83 views
2

我已經從Twitter API下載了一堆Twitter消息。據我瞭解,在(JSON)created_at屬性在UTC(由+0000表示)給出:使用SQL將UTC時間戳轉換爲EST日期和時間

created_at: Fri Feb 18 21:08:38 +0000 2011 

在我的劇本,我保存這些日期爲Unix時間戳使用PHP的的strtotime將它們轉換:

strtotime(Fri Feb 18 21:08:38 +0000 2011) = 1298063318 

我現在這樣有一個表,微博,與UTC UNIX時間戳:

id nyse_date nyse_time twitter_timestamp 
------------------------------------------- 
1 2011-02-18 16:08:38 1298063318 

的鳴叫我收集了所有談論NYSE的股票。紐約證券交易所(顯然在紐約)位於美國東部時間,即UTC - 5小時(或18,000秒)。因此,在UTC寫的推文週五2月18日21:08:38是寫在NYSE時間2011年2月18日星期五16:08:38。因此,(見表)1298063318 UTC時間戳存儲轉換爲EST(紐約證券交易所)日期和時間。

我現在需要爲表中的所有(數百萬)推文執行此操作。用什麼查詢可以自動執行此操作?我得到的大量迷茫的時候我想到的例如

Fri Feb 18 02:08:38 +0000 2011 

這裏UTC時間戳,nyse_date會2011-02-17(未:18)和nyse_time 21時08分38秒。

我希望對一些SQL善良,因爲這在很大程度上混淆了我(可能是不必要的,但它是我第一次與時間戳和時區工作)

+0

你看過FROM_UNIXTIME()函數嗎?一旦你把它作爲一個日期,你就可以對它進行日期算術,我相信。 – 2012-04-07 18:55:00

回答

0

在數據讀取後,更新twitter_timestamp領域,像

update mydata set twitter_timestamp = twitter_timestamp - 5 * 3600; 
相關問題