使用 PHP 的 date() 函数在 MySQL 中存储日期,并使用 MySQL 的 NOW() 函数比较它们,同时考虑时区差异,对齐两个工具的时区至关重要。
对于 PHP,确保时区同步需要执行以下步骤:
<code class="php">define('TIMEZONE', 'Europe/Paris'); date_default_timezone_set(TIMEZONE);</code>
<code class="php">$finalize_at = date('Y-m-d H:i:s', strtotime('+30 minutes'));</code>
与PHP、MySQL 的时区设置也必须调整:
<code class="php">// Get current offset in minutes $now = new DateTime(); $mins = $now->getOffset() / 60; $offset = sprintf('%+d:%02d', -$mins, abs($mins)); // Update MySQL's timezone setting $db = new PDO('mysql:host=localhost;dbname=test', 'dbuser', 'dbpassword'); $db->exec("SET time_zone='$offset';");</code>
完成这些配置后,PHP 和 MySQL 应该使用相同的时区。要验证这一点,请在 MySQL 查询中比较 date_default_timezone_get() 的输出和 SELECT NOW() 的结果。如果时区名称匹配,则同步成功。
请记住检查应用程序中的时区设置,因为 PHP 和 MySQL 时区可能会受到设备或服务器设置更改的影响。
以上是如何实现PHP和MySQL的时区同步?的详细内容。更多信息请关注PHP中文网其他相关文章!