2011-03-16 64 views
0

我應該將UTC中的所有日期時間存儲在MySQL數據庫中嗎?
(使用UTC_TIMESTAMP())在網站上在MySQL中使用UTC

如果我不知道用戶的時區,如何顯示日期時間給用戶?

回答

1

使用UTC通常是一個不錯的選擇,特別是在處理邏輯「時間瞬間」(例如創建條目的時間戳等)時。

至於如何顯示它們給你的用戶:如果你不知道時區,你不能明智地向用戶顯示日期/時間然而你存儲它,所以這是真的獨立於UTC決定。一種選擇可能是使用JavaScript從UTC轉換到本地時間。另一種可能性是允許用戶自己指定時區。

+0

如果您需要在SQL中進行時區轉換,使用'convert_tz'函數很容易,但您必須首先導入時區數據庫:另請參見http://dev.mysql.com/doc/ refman/5.5/en/time-zone-support.html和http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_convert-tz – 2011-03-16 18:40:18

+0

@Joe:I通常,建議將時區轉換更接近表示層,說實話。 – 2011-03-16 18:44:12

+0

一般來說,我同意,特別是對於可能是OP的主要用例的交互式應用程序。但是,對於運行即席查詢甚至某些業務功能或報告,如果您要存儲所有UTC時間戳,知道如何在MySQL中進行轉換也很方便。例如,如果您想在特定的日期/時間向用戶發送文本消息警報,並且本身具有「表示層」? – 2011-03-16 19:00:05