2014-07-04 48 views
0

使用now()創建的MySQL日期時間存儲爲UTC。在用戶時區顯示MySQL日期時間

客戶端時區使用JavaScript檢測並返回爲"Europe/London"

從MySQL中選擇日期時間並在用戶本地時間顯示創建時間的最佳方式是什麼?

PHP和Node都與MySQL一起使用。

回答

2

您可以使用MySQL CONVERT_TZ功能

SELECT CONVERT_TZ(NOW(), 'UTC', 'Europe/London') 
1

我不知道你怎麼邏輯作出的,但我在PHP中使用這樣的:

function utc_to_timezone($format, $date, $to_timezone) 
{ 
    $date = new DateTime($date); 
    $date->setTimezone(new DateTimeZone($to_timezone)); 

    return $date->format($format); 
} 

例子:

echo utc_to_timezone('Y-m-d H:i:s', '2014-07-04 15:34:23', 'Europe/London'); 
相關問題