我从Twitter API下载了一堆推文。据我所知,(JSON)created_at属性以UTC给出(由+ 0000表示):
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
我收集的所有推文都谈到了纽约证券交易所的股票。纽约证券交易所(显然在纽约)位于美国东部时间 - 格林威治标准时间 - 5小时(或:18.000秒)。因此,在2011年2月18日星期二21:08:38发表于UTC Fri的2011年2月18日16:08:38发表了一条推文。因此,(见表)1298063318 UTC时间戳存储转换为EST(纽约证券交易所股票代码:NYSE)日期和时间。
我现在需要为表中的所有(数百万)推文执行此操作。我可以使用什么查询自动执行此操作?当我考虑例如
的UTC时间戳时,我感到非常困惑Fri Feb 18 02:08:38 +0000 2011
在这里,nyse_date将是2011-02-17(不是:18)和nyse_time 21:08:38。
我希望有一些SQL好处,因为这让我非常困惑(可能是不必要的,但这是我第一次使用时间戳和时区)
答案 0 :(得分:0)
在读取数据后,更新twitter_timestamp字段,如
update mydata set twitter_timestamp = twitter_timestamp - 5 * 3600;