如何強制PHP忽略夏令時?
P粉348915572
2023-09-03 15:48:38
<p>我有一些在 Windows 伺服器上的 PHP 7.4.26 上運行的 Web 應用程式。今年(2023 年)墨西哥政府決定停止使用夏令時 (DST),這給我帶來了問題。
我的網頁應用程式需要使用 America/Mexico_City 時區,但 PHP 繼續使用 DST,增加了不必要的額外時間。
我能夠更改 Windows 伺服器時間以忽略 DST。因此,伺服器有合適的時間。但 PHP 總是給出錯誤的結果。
我無法修改伺服器以減少一小時(作為解決方法),因為它用於其他非 PHP 應用程式。
如何強制 PHP 忽略 DST,以便我可以繼續使用正確的時區?
非常感謝。 </p>
不幸的是,如果不升級到 PHP 8 ,您將無法更改時區 DST。
PHP 包含 IANA 時區資料庫 和 定期使用較新版本的 PHP 進行更新。
正如您在 IANA 郵件列表中看到的,墨西哥直到 2022 年 10 月的 2022e 版本才添加取消夏令時的更改。
如同此 3v4l 所示,沒有任何版本的 PHP 7 與時區資料庫捆綁在一起,其中包含以下變更墨西哥。您需要的最低版本為 8.0.26、8.1.13 或 8.2。由於 PHP 7 已經停產並且不再接收任何更新,現在是升級的好時機。