2012-12-06 204 views
0

下面是我的twitter feed的截圖(截至目前爲止,我正在寫這個問題)。Twitter的網站如何計算推文發佈的時間?

enter image description here

通知的時間是如何相對於,現在呢? (那些時間區別是正確的,順便說一句)

他們如何計算?

我問的原因是現在,我在墨爾本澳大利亞。當我遠程桌面到服務器的狀態,登錄到Twitter(使用相同的帳戶)..我得到相同的結果!

起初,我以爲他們是這個計算依據的時區我的帳戶設置(順便說一句被設定在+10 GMT)

enter image description here

但是,如果是這樣的話,當我遠程桌面到服務器(位於加利福尼亞州的San Fran),它應該在RD終端中顯示不同的結果,對吧?

那他們怎麼可以編碼呢?

+0

我想,它使用JavaScript來獲取本地時間和時區,並比較推文的發佈時間(當然,相對於時區)。 – Raptor

回答

3

的Twitter很可能儲存更多的它被張貼在UTC日期,它知道(你的機器上都和服務器上)中UTC現在是時候。

鑑於這些日期時間被翻譯成相同的時區(UTC),這是一個很簡單的問題,即考慮兩次之間的差異。

Stack Exchange站點的作用與您看到的所有活動的時間相同。

只要您能夠將日期時間的任何表示形式轉換爲UTC(幾乎每個API都存在),就可以計算出該值,因爲Twitter會將UTC時間推遲到客戶端然後做數學計算(或者在服務器上做,並將差異傳遞給下面的人);當絕對時間顯示到你,你爲UTC看到偏移的設置,你想他們對於你的時區。

+0

是的,這是您的時間(UTC)和發佈時間(UTC)之間的差異。 – Matt

+0

@Matt也許我不明白這個問題,但在查看*相對*日期時,本地時間並不重要,只要您使用UTC,相對日期就很容易計算。 – casperOne

+0

正確的是,當您將所有時間標準化爲UTC時,計算時間差異很容易。我想我在你真正提到UTC之前發佈了這個,但它是一樣的:在所有時間轉換爲UTC時,可以比較澳大利亞時間和英國格林威治時間_can_。換句話說,這是正確的答案:UTC是「通用」的,所以無論「真實」時區如何,所有時間比較在UTC都是合法的。 – Matt