0

これが私のツイッターフィードのスクリーンショットです(この質問を書いている今の時点で)。

ここに画像の説明を入力

今、に対する時間がどのように相対的であるかに注意してください。(これらの時間は正しいです、ところで)

彼らはそれをどのように計算しますか?

私が尋ねる理由は、今、私はオーストラリアのメルボルンにいるからです. 州のサーバーにリモート デスクトップで接続し、(同じアカウントを使用して) Twitter にログインすると、同じ結果が得られます。

最初は、タイムゾーンのアカウント設定に基づいてこれを計算していると思いました(ところで、+10 GMTに設定されています)

ここに画像の説明を入力

しかし、その場合、(カリフォルニア州サンフランにある) サーバーにリモート デスクトップすると、その RD ターミナルで異なる結果が表示されるはずですよね?

では、彼らはこれをどのようにコーディングしたのでしょうか?

4

1 に答える 1

3

Twitter は、投稿された日付を UTC で保存する可能性が高く、現在の時刻を UTC で知っています (マシンとサーバーの両方で)。

これらの日時が同じタイムゾーン (UTC) に変換されることを考えると、2 つの時間の差を取るのは簡単なことです。

これは、表示されるすべてのアクティビティの時間をスタンプするために Stack Exchange サイトが行うのと同じことです。

日時の表現を UTC に変換できる限り (存在するほぼすべての API が持っています)、Twitter が UTC 時間をクライアントにプッシュし、クライアントが計算を行うため、この値を計算できます。 (またはサーバー上でそれを行い、違いを伝えます); UTC オフセットに表示される設定は、絶対時間が表示され、タイムゾーンを基準にしたい場合です。

于 2012-12-06T02:49:26.360 に答える