基本上我需要的是一个脚本,当提供时间和时区时,可以在另一个时区返回时间.
我的主要问题是:
ITr*_*ubs 87
<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>
Run Code Online (Sandbox Code Playgroud)
以上示例将输出:
2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45
Run Code Online (Sandbox Code Playgroud)
编辑:像Pekka说的那样:DateTime类从5.2开始存在,你首先必须找出哪些方法是真正实现的,哪一个只存在于5.3上.
试试这个,可能会有所帮助:)
function converToTz($time="",$toTz='',$fromTz='')
{
// timezone by php friendly values
$date = new DateTime($time, new DateTimeZone($fromTz));
$date->setTimezone(new DateTimeZone($toTz));
$time= $date->format('Y-m-d H:i:s');
return $time;
}
Run Code Online (Sandbox Code Playgroud)
一点说明: 该函数需要3个输入,即转换时间,转换时区,当前时区,并以指定格式返回输出。