Pour stocker des dates dans MySQL à l'aide de la fonction date() de PHP et les comparer à l'aide de la fonction NOW() de MySQL tout en tenant compte des différences de fuseau horaire , il est crucial d'aligner les fuseaux horaires pour les deux outils.
Pour PHP, assurer la synchronisation du fuseau horaire implique les étapes suivantes :
<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>
Pour synchroniser avec PHP, le fuseau horaire de MySQL Le paramètre doit également être ajusté :
<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>
Avec ces configurations en place, PHP et MySQL doivent utiliser le même fuseau horaire. Pour vérifier cela, comparez la sortie de date_default_timezone_get() et le résultat de SELECT NOW() dans une requête MySQL. Si les noms de fuseau horaire correspondent, la synchronisation est réussie.
N'oubliez pas de vérifier les paramètres de fuseau horaire dans votre application, car les fuseaux horaires PHP et MySQL peuvent être affectés par les modifications apportées aux paramètres de l'appareil ou du serveur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!