PHP strtotime timezone


PHP strtotime timezone

我在将 PHP strtotime 转换为不同的时区时遇到问题。我的代码很简单:

<?php
date_default_timezone_set("Europe/Bratislava");
echo date("H:i",strtotime("20:00 America/New_York")); 
?>

此代码返回:02:00。但它应该返回 14:00。

你能帮我解决这个问题吗?

此代码返回:02:00。但它应该返回 14:00。

不,没错。您正在从纽约晚上 8 点(由于 DST 而当前为 UTC-4)转换为欧洲/布拉迪斯拉发时区(由于 DST 目前为 UTC+2)。

所以:

New York:   8pm
UTC:        Midnight
Bratislava: 2am

如果您尝试从欧洲/布拉迪斯拉发时间转换为纽约时间,则需要切换时区 ID。