php - php时区设置的建议

标签 php date time timezone strtotime

我住在丹麦 - 但正在为美国(华盛顿州)的 friend 设置一个页面。该页面托管在丹麦的 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 = new DateTime($_POST[日期].' '.$_POST[时间], new DateTimeZone("UTC"));

echo $date->getTimestamp();

关于php - php时区设置的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28226458/

相关文章:

php - “我的”在排行榜中的位置

java - 使用 joda time 获取自 2000 年以来的秒数

objective-c - 使用 objective-c 中用户选择的时间创建NSDate

php - Laravel - 查询 "with"

javascript - 使用 JavaScript 和 PHP 作为 href 属性的值

c# - DateTime 从 XLS 到 C# 转换失败

php - 使用 facebook 帐户登录时显示这样的错误,我该怎么办?

PHP - 计算多少天前

java - Java Thread 中日期时间的重新计算

php - 将多个复选框值添加到数据库