将TIMESTAMP和时区转换为其他时区

时间:2016-04-15 16:57:53

标签: php mysql date datetime

所以我在DB中有一个这样的时间戳:2016-03-31 21:10:15这个get在db中设置为服务器timezonedate_default_timezone_set("America/Los_Angeles");

现在当我列出我需要将其转换为我存储在其他地方的用户时区的数据时,有没有办法将其转换并在不同的时区显示?

因此,如果是“America / Los_Angeles”的下午5点,我需要将其转换为New_York,例如并显示时间,但对于New_York时区,我猜你知道我的意思。

1 个答案:

答案 0 :(得分:2)

使用DateTime对象,您可以随心所欲地使用时区:

$dateTime = '2016-03-31 21:10:15';
$originalTimezone = 'America/Los_Angeles';
$newTimezone = 'America/New_York';

$dto = new DateTime($dateTime, new DateTimeZone($originalTimezone));
$dto->setTimezone(new DateTimeZone($newTimezone));

echo $dto->format('Y-m-d H:i:s');