有关 php 时区设置的建议


Advice for php time zone settings

我住在丹麦 - 但正在为美国(华盛顿州)的朋友建立一个页面。该页面托管在丹麦的Surftown。

我知道有 9 小时的差异,所以我设置:

date_default_timezone_set('America/Los_Angeles');

但是对于时区/date()strtotime(),我显然不太了解一些东西,因为:

通过文本输入,我正在尝试将特定的日期和时间保存到数据库中。

假设$_POST[date]输入是:"01/29/2015",$_POST[time]输入是:"02:00 PM"。

然后,我使用以下方法创建一个图章:

strtotime($_POST[date].' '.$_POST[time]);

但是当我尝试输出它时,我得到了正确的日期 - 但是时间增加了 9 小时?这是为什么呢?

我想我可以删除此特定任务的时区设置 - 但是我想了解为什么。我正在设置时区,因为我还需要根据用户的实际时间保存一些时间戳(在华盛顿州 - 而不是丹麦)。

你能帮忙吗?

strtotime假设您正在传递UTC日期,因此它会将其转换为服务器时区,您可以执行以下操作:

$date = 新的日期时间($_POST[日期]"。'.$_POST[时间], 新的日期时区("UTC"));

echo $date->getTimestamp();