建议php时区设置

时间:2015-01-29 23:11:51

标签: php date time timezone strtotime

我住在丹麦 - 但我正在为美国(华盛顿州)的朋友设置页面。该页面位于丹麦的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个小时?这是为什么?

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

你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

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

$ date = new DateTime($ _ POST [date]。''。$ _ POST [time],new DateTimeZone(" UTC"));

echo $ date-> getTimestamp();