我在纽约有一台服务器,还有一个"客户端"加利福尼亚州希望服务器在加利福尼亚州当天午夜计算出来,这与纽约当天的三小时不同。
我只能计算当天的午夜,如纽约所见,但我需要能够计算加利福尼亚当天午夜(或任何其他任意时区)
我可以访问时区与UTC的偏移量。
$tzOffset = "-700"; // Timezone offset from UTC (in this case, PDT)
我现在使用的(半工作)方法是
strtotime("00:00:00 " . $tzOffset);
美国太平洋夏令时间6月25日晚上10点,这种方法将于6月26日太平洋夏令时间上午12点返回午夜时分,将于6月25日中午12点返回。
答案 0 :(得分:2)
// create time from string
$date_time = new Datetime('midnight', new Datetimezone('America/Los_Angeles'));
// string representation of time in America/Los_Angeles
echo $date_time->format('Y-m-d H:i:s') . PHP_EOL;
$date_time->setTimezone(new Datetimezone('America/New_York'));
// string representation of the same time in America/New_York
echo $date_time->format('Y-m-d H:i:s') . PHP_EOL;
答案 1 :(得分:0)
在一个时区中创建日期时间对象
$dt = new Datetime('2014-06-25 00:00:00', new Datetimezone('America/New_York'));
将其更改为其他时区
$dt->setTimezone(new Datetimezone('America/Los_Angeles'));