php时区转换的实现方法:首先自定义一个“dateTimeChangeByZone”方法;然后获取指定区域的时间,并确定要转换为指定时区的时间;接着设置好时间格式;最后通过自定义的方法实现时间转换即可。
不同时区的时间互相转换<?php
/**
* @param string $dateTime 时间,如:2020-04-22 10:10:10
* @param string $fromZone 时间属于哪个时区
* @param string $toZone 时间转换为哪个时区的时间
* @param string $format 时间格式,如:Y-m-d H:i:s
* 时区选择参考:https://www.php.net/manual/zh/timezones.php 常见的如:UTC,Asia/Shanghai
* 时间格式参考:https://www.php.net/manual/zh/datetime.formats.php
*
* @return string
*/
function dateTimeChangeByZone($dateTime, $fromZone, $toZone, $format = 'Y-m-d H:i:s')
{
$dateTimeZoneFrom = new DateTimeZone($fromZone);
$dateTimeZoneTo = new DateTimeZone($toZone);
$dateTimeObj = DateTime::createFromFormat($format, $dateTime, $dateTimeZoneFrom);
$dateTimeObj->setTimezone($dateTimeZoneTo);
return $dateTimeObj->format($format);
}
echo dateTimeChangeByZone('2020-04-22 10:10:10', 'UTC', 'Asia/Shanghai', 'Y-m-d H:i:s');
结果:2020-04-22 18:10:10
更多相关知识,请访问PHP中文网!