PHP strtotime 时区

PHP strtotime timezone

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

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

此代码 returning: 02:00。 但是应该return 14:00.

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

This code is returning: 02:00. But it should return 14:00.

不对,没错。您正在从纽约晚上 8 点(由于夏令时,目前为 UTC-4)转换为 Europe/Bratislava 时区(由于夏令时,目前为 UTC+2)。

所以:

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

如果您要将Europe/Bratislava时间转换为纽约时间,那么您需要切换您的时区 ID。