如何将UTC的日期/时间字符串(例如2011-01-01 15:00:00)转换为php支持的任何给定时区,例如America/New_York或Europe/San_Marino.
Kev*_*eno 135
PHP的DateTime对象非常灵活.
$UTC = new DateTimeZone("UTC");
$newTZ = new DateTimeZone("America/New_York");
$date = new DateTime( "2011-01-01 15:00:00", $UTC );
$date->setTimezone( $newTZ );
echo $date->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
PHP 的DateTime对象非常灵活。
由于用户要求多个时区选项,因此您可以将其设为通用。
通用函数
function convertDateFromTimezone($date,$timezone,$timezone_to,$format){
$date = new DateTime($date,new DateTimeZone($timezone));
$date->setTimezone( new DateTimeZone($timezone_to) );
return $date->format($format);
}
Run Code Online (Sandbox Code Playgroud)
用法:
echo convertDateFromTimezone('2011-04-21 13:14','UTC','America/New_York','Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
输出:
2011-04-21 09:14:00