2012-10-18 60 views
0

顯示事件時間到客戶端我想知道什麼是處理時區的最佳方法。設置,並在不同的時區

假設user1寫了一個消息user2

現在user1UTC + 2user2UTC -2和假設服務器UTC +1

所以我會怎麼處理時區的這一切的差集時間?

我寫這是要更新時間的東西多久以前發生的jQuery插件,我最好的猜測是設置服務器UTC 0,然後就根據客戶端時區計算時間差,但有沒有辦法讓客戶端時區,或者即時通訊以錯誤的方式進行?

回答

2

使用曆元時間(UTC + 00)從頂部到底部,並忽略時區。假設瀏覽器/操作系統時區正確。這意味着每個發送和接收的消息都有一個時間戳,以時間戳記的形式表示,其時間爲使用new Date().getTime()生成的時間段。

我現在的時間是:

Thu Oct 18 2012 22:07:11 GMT+0200 (CEST) 

或:

1350590831507 

CEST爲UTC + 02。解釋目標計算機上(new Date(1350590831507)與UTC-0200)的後一種形式是:

Thu Oct 18 2012 18:07:11 GMT-0200 

但它仍然是相同的日期(時間點)!如果十秒鐘後您將此時間戳與new Date().getTime()進行比較,您將總是得到10000毫秒,與時區無關。