在用户时区中显示MySQL日期时间

时间:2014-07-04 12:30:37

标签: php mysql node.js timezone

使用now()创建的MySQL日期时间存储为UTC。

使用JavaScript检测客户端时区并返回"Europe/London"

从MySQL选择日期时间并在用户本地时间显示创建时间的最佳方法是什么?

PHP和Node都与MySQL一起使用。

2 个答案:

答案 0 :(得分:3)

您可以使用MySQL CONVERT_TZ功能

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

答案 1 :(得分: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');