【发布时间】:2014-07-07 15:23:36
【问题描述】:
我对 PHP date() 函数在将其转换为 Unix 时间戳时的工作方式有疑问。
我使用date() 函数以July-7-2014. 的形式创建了一个日期。当我获得该日期的Unix 时间戳时,我希望它与07 July 2014 00:00:00 GMT 对应。相反,我得到的时间戳对应于07 July 2014 20:14:00 GMT。
我真正要问的是:为什么时间戳给我20:14:00 时、分、秒而不是00:00:00?
【问题讨论】:
-
date() 不创建日期;它将时间戳格式化为(对人类而言)类似于日期的字符串......现在你如何获得这个日期的 unix 时间戳?你在使用 strtotime() 还是什么?
-
您的问题并不完全清楚,因为您没有显示将字符串转换为 UNIX 时间戳的部分。但是,答案很可能是
strtotime,它会替换当前时间的所有缺失信息。您需要澄清为什么在您的脑海中00:00:00比20:14:00更有效。 -
正如我在最后一部分所说的那样,我的评论被删除了。
-
@deceze 我目前使用
$completedDate = new DateTime($date); $date = $completedDate->getTimestamp();来获取时间戳,因为strtotime文档说不建议使用strtotime进行数学运算。虽然我尝试了strtotime,但这给了我相同的结果。00:00:00不一定比20:14:00更有效,但我不明白为什么它给了我那个时间。
标签: php datetime unix-timestamp