我正在運行一個來自世界各地的人訪問的世界目標網站。該數據庫包含國際日期行西格式的時間。我正在使用JavaScript使用用戶時區,並將數據庫中的時間轉換爲用戶的時間,然後在頁面上顯示。我想問一下,國際日期線西是世界級網站的正確格式?或者設置爲UTC或GMT會更好? UTC和GMT以及International Date Line West有什麼區別?這三個一樣嗎?最後,我應該在什麼時候將我的服務器設置爲使用用戶時區偏移進行轉換?GMT是否和UTC相同?
回答
如果您對天文觀測(例如GPS等衛星)感興趣,或者您想引用技術標準(ITU-R TF.460-6),那麼您可能會關心我們使用UTC和格林尼治標準時間不再有精確的定義。否則,您可能會認爲GMT與UTC相同,並且也認爲UT和UT1與UTC相同 - 技術上它們不是。另外,如果您正在跟蹤計算機犯罪分子或其他分佈式活動,那麼您需要確定在某些其他事件之前,各個站點的某些事件是否可能發生。爲此,您需要學習和使用網絡時間協議(NTP)。這對你對時間的理解要比UTC,UT1和UT之間的微小差異更大。
「International Date Line West」(國際日期行西)只是時區的友好名稱,其時間定義爲比UTC小12小時(即UTC-12)。
UTC實際上是GMT的新名稱。它有很小的差異,但是沒有一個會在這種情況下影響你。
塞維的評論是完全錯誤的說格林尼治標準時間包括夏時制。這是一個叫做BST的不同時區,英國在夏季從格林尼治標準時間開始移動。
通常,當您必須向不同時區的人員呈現日期或時間時,您應該做的就是在數據庫中保存UTC的所有時間信息並將其轉換爲顯示圖層上的用戶時區(當您將信息呈現給您的用戶)
但是你會發現幾個挑戰: - 你的JavaScript中得到的時區可能不可信賴 - 通過IP查找用戶的位置,然後讓該時區也不可信
在我看來,一個好方法是使用「最佳猜測」來查找默認時區(javascript時區應該足夠了),並讓用戶能夠主動配置他的時區。
在某些谷歌應用程序中,他們的方法是在開始之前提示用戶輸入他的時區,這應該只在您可以保證每次用戶訪問您的網站時不必重複此操作(通過用戶帳戶或餅乾)
但是在這種情況下,我們必須爲註冊的未註冊和數據庫條目設置cookie。但就我的經驗而言,有些人甚至不知道時區是什麼? ...那麼他們呢?所以我們要照顧所有這些問題 – 2013-02-20 17:50:08
你錯過了。所有日期和時間信息在數據庫中保存爲UTC。當用戶訪問您的網站時,您將該日期時間信息轉換爲用戶的時區。這個想法是爲了保證他不必知道很多關於時區的信息,所有提交給他的日期和時間都在他的時區。 – cernunnos 2013-02-20 17:57:56
我不這麼認爲。因爲我的數據庫不能節省UTC時間。它節省了我當地的時間。那就是印度時間。 – 2013-02-20 18:34:29
- 1. 端點總是UTC/GMT
- 2. php時區「等/ GMT + 5」相當於UTC(「Etc/UTC + 5」?)
- 3. 從GMT轉換爲UTC
- 4. UTC TO GMT轉換在Javascript
- 5. UTC與GMT - 的Java對.Net
- 6. 關於區分UTC和GMT的常見做法是什麼?
- 7. UNIX_TIMESTAMP()和time()是否相同
- 8. c#GMT時間與UTC時間相當嗎?
- 9. Android中的GMT與UTC的區別
- 10. 是(int *)和(int [])是否相同?
- 11. MySQL缺省時間格式UTC還是GMT?
- 12. Jodatime DateTimeFormatter需要打印GMT時間,而不是UTC
- 13. NSTimeZone:「UTC」和「GMT」之間的任何區別?
- 14. 在C/C++中在本地時間和GMT/UTC之間轉換
- 15. %20和+在http url中是否相同?
- 16. Redis中的HSET和HMSET是否相同
- 17. UUID和設備令牌是否相同?
- 18. 語義和語法是否相同?
- 19. Perl中的@ {$ list_ref}和@ $ list_ref是否相同?
- 20. http和https資源是否相同?
- 21. quadprog和frontcon在Matlab中是否相同?
- 22. JSP和Servlet容器是否相同?
- 23. 方法map = null和map.clear()是否相同?
- 24. Thread.sleep(0)和Thread.yield()語句是否相同?
- 25. 是否提升ptime的UTC?
- 26. python pytz timezone與UTC時間相同
- 27. webapp與CMS - 是否相同
- 28. 如何在UTC,GMT,PST,MST,EST,CST等不同時區運行調度程序
- 29. c#和java是否有相同的同步問題/概念?
- 30. 在angularjs中獲取全球(UTC或GMT)時間,而不是當地時間
從我的理解,UTC是格林威治標準時間,但沒有夏令時。不過,我很久以前就知道要遠離凌亂的日期時間問題。 – Servy 2013-02-20 17:23:48
簡短回答是的。長回答沒有。格林威治標準時間從來沒有「夏令時」,那麼它被稱爲「BST」或其他名稱,所以這不是問題。最主要的是格林尼治標準時間和UTC可以相差不超過500毫秒。 – 2013-02-20 17:23:56
@Servy - 在英國夏令時開始時,我們將時區移至BST(GMT + 1)。 – Quentin 2013-02-20 17:24:57