调整mysql / php代码以补偿服务器时区

时间:2016-03-11 08:01:23

标签: php mysql

我目前有一个我正在制作的电影院网站,我们在一个标签面板中显示放映时间,每天午夜自动更新。每个标签的代码类似于:

$sql = SELECT * FROM showtimes WHERE DATE(`date`) = DATE(NOW())";

今天,然后明天将是相同的,但DATE(NOW())+1";,依此类推。在该行之后,我echo将相关元素输出到面板中。我理解我的代码可能不是最好的,因为我是初学者,但它的工作方式应该如此。

我遇到的问题是服务器位于西海岸,我在中央时区。因此,标签面板在我的时间凌晨2点之前不会更新。我尝试在php.ini文件中调整时区,但这没有帮助。有没有办法可以调整我的代码,以便补偿我的时间与服务器时间的2小时差异?

谢谢。

1 个答案:

答案 0 :(得分:0)

您的查询使用MySQL内置日期和时间,它永远不会受php.ini或任何PHP date_time函数的影响,您的解决方案是添加+2小时您的查询然后再次尝试测试代码,因此您的脚本将是:DATE_ADD(NOW(), INTERVAL 2 HOUR)

$sql = SELECT * FROM showtimes WHERE DATE(`date`) = DATE_ADD(NOW(), INTERVAL 2 HOUR)";