![](/img/trans.png)
[英]Timestamp comparison in MySQL and PHP ( UTC, +0000, Timezones )
[英]PHP/MySQL timestamp and timezones
如果我使用MySQL中的NOW()函數獲取當前時間戳,我可以通過php獲取該字段並在不同時區提供該時間嗎? 基本上將當前時區的當前時間轉換為另一個時區?
您可以使用DateTimeZone
類:
$gmt = new DateTimeZone("GMT");
$datetimeInGMT = new DateTime($now, $gmt);
它還需要continent/city
,例如Europe/London
。
如果您的日期時間是非UTC,您可以使用setTimezone
:
$datetimeInGMT = new DateTime($now, new DateTimeZone("America/New_York"));
$datetimeInGMT->setTimezone(new DateTimeZone("GMT"));
MySQL的時區處理比PHP更復雜。 它處理簡單的時區(EST,PST等)和我稱之為“區域時區”(美國/東部)。 使用區域區域使用正確的轉換,包括夏令時,即使DST規則多年來發生了變化。
我所做的是使用MySQL函數UTC_TIMESTAMP()將我的所有日期時間存儲為UTC。 然后,在查詢中,我使用MySQL函數CONVERT_TZ()到我的目標時區。 http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
注意:您可能需要更新時區表。 http://dev.mysql.com/downloads/timezones.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.