2

Twitter API から大量のツイートをダウンロードしました。私が理解しているように、(JSON) created_at プロパティは UTC で指定されます (+0000 で示されます):

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

私のスクリプトでは、これらの日付を PHP の strtotime を使用して変換することにより、UNIX タイムスタンプとして保存しました。

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 (明らかにニューヨーク) は EST にあり、UTC - 5 時間 (または: 18.000 秒) です。したがって、UTC Fri Feb 18 21:08:38 2011 に書かれたツイートは、NYSE 時間の Fri Feb 18 16:08:38 2011 に書かれています。したがって、(表を参照) 1298063318 UTC タイムスタンプが EST (NYSE) に変換されて保存されます。日時。

テーブル内のすべての (数百万の) ツイートに対してこれを行う必要があります。これを自動化するには、どのクエリを使用しますか? たとえば、UTCタイムスタンプについて考えると、非常に混乱します

Fri Feb 18 02:08:38 +0000 2011

ここで、nyse_date は 2011-02-17 (not: 18) で、nyse_time は 21:08:38 になります。

これは私を非常に混乱させるので、SQLの良さを期待しています(おそらく不必要ですが、タイムスタンプとタイムゾーンを扱うのは初めてです)

4

1 に答える 1

0

データを読み込んだ後、twitter_timestamp フィールドを次のように更新します。

update mydata set twitter_timestamp = twitter_timestamp - 5 * 3600;
于 2012-04-07T19:10:05.700 に答える