You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP夏令时处理异常求助(AWS Ubuntu 22.04环境)

问题解决:PHP DateTime 夏令时不生效的问题

问题原因

你使用的PST是固定偏移的时区(UTC-8),它不会自动识别夏令时转换规则。太平洋夏令时(PDT,UTC-7)仅在每年3月至11月生效,而PST标识符无法触发这种自动切换。PHP的DateTimeZone只有在使用地区型时区标识符(如America/Los_Angeles)时,才会自动应用夏令时的切换逻辑。

解决方法

将时区参数从'PST'替换为'America/Los_Angeles',修改后的代码如下:

<?php
$date = new DateTime("now", new DateTimeZone('America/Los_Angeles'));
echo $date->format('Y-m-d H:i:s');

额外验证

如果需要确认当前时区的夏令时规则是否生效,可以运行以下代码查看最近的时区切换记录:

<?php
$tz = new DateTimeZone('America/Los_Angeles');
$transitions = $tz->getTransitions();
// 输出最近2次时区切换信息(包含夏令时切换)
print_r(array_slice($transitions, -2));

内容的提问来源于stack exchange,提问作者EastsideDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:05:06