关于php:将TIMESTAMP和时区转换为不同的时区

Convert TIMESTAMP and timezone to a different timezone

本问题已经有最佳答案,请猛点这里访问。

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

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

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


使用DateTime对象,您可以随心所欲地使用时区来实现内容:

1
2
3
4
5
6
7
8
$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');