这对我来说真的很奇怪。
我试过:
<?php echo strtotime(date("Y-m-d H:i:s")); ?>
它返回:1351498120。
此外,当我运行此查询时:SELECT UNIX_TIMESTAMP(now())
,
它返回相同的结果:1351498120。
但是当我尝试时:<?php echo strtotime(date("2012-10-29 18:00:00")); ?>
它返回:1351533600。
然而,如果我运行此查询:SELECT UNIX_TIMESTAMP('2012-10-29 18:00:00')
,
它返回:1351513800
现在我的问题是:为什么 php 和 mysql 的时间戳当前日期相同,但 future 日期不同?有没有办法比较它们的 future 日期?
(注意:我在 php 中将 UTC 作为默认时区)
最佳答案
两者之间有 5.5 小时的差异,这表明它是时区问题,在两端。 MySql 服务器的时区可以不同地配置。
SET time_zone = timezonename;
可用于为当前 session 设置时区。 检查 MySQL Date and Time Functions
关于php - 为什么 php 时间戳与 future 日期的 mysql UNIX_TIMESTAMP 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117903/