【发布时间】:2021-10-03 11:17:30
【问题描述】:
我的 PHP 安装 (7.4.22) 返回其他时区的正确时间,但不返回 PDT 的正确时间。我的服务器(Ubuntu 18.04.2)在登录时显示正确的 UTC 时间。
示例脚本:-
<?php
$date_str_8601 = '2021-10-03T12:30:00Z'; // Input 12:30 UTC
$dateTime = DateTime::createFromFormat(DateTime::ISO8601, $date_str_8601);
date_timezone_set($dateTime, timezone_open('PDT'));
echo 'PDT ' . date_format($dateTime, 'g:i A'); // Expected: PDT 5:30 AM
date_timezone_set($dateTime, timezone_open('Europe/London'));
echo ', London ' . date_format($dateTime, 'g:i A'); // Expected: London 1:30 PM
预期输出:
PDT 5:30 AM, London 1:30 PM
实际输出
PDT 4:30 AM, London 1:30 PM
为什么我的代码给了我错误的 PDT 时间?我的配置有什么可以修复的吗?
【问题讨论】: