为什么php时间戳与mysql UNIX_TIMESTAMP的未来日期不同?

sha*_*nth 4 php mysql timestamp unix-timestamp

这对我来说真的很奇怪.

我试过了: <?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的时间戳对于当前日期是相同的,但是对于将来的日期会有所不同?有没有办法比较它们的未来日期?

(注意:我在UTC中将UTC作为默认时区)

Ani*_*han 7

2之间存在5.5小时的差异,这表明它是两个时区问题.MySql Server的时区可以配置不同.

SET time_zone = timezonename;
Run Code Online (Sandbox Code Playgroud)

可用于为当前会话设置时区.检查MySQL日期和时间函数