Maison  >  Article  >  base de données  >  Comment réaliser la synchronisation des fuseaux horaires entre PHP et MySQL ?

Comment réaliser la synchronisation des fuseaux horaires entre PHP et MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 09:24:02579parcourir

How to Achieve Timezone Synchronization Between PHP and MySQL?

Définition des fuseaux horaires pour la synchronisation PHP et MySQL

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.

Solutions pour PHP

Pour PHP, assurer la synchronisation du fuseau horaire implique les étapes suivantes :

  • Définir le fuseau horaire par défaut :
<code class="php">define('TIMEZONE', 'Europe/Paris');
date_default_timezone_set(TIMEZONE);</code>
  • Utiliser un fuseau horaire personnalisé lors de l'appel de date() :
<code class="php">$finalize_at = date('Y-m-d H:i:s', strtotime('+30 minutes'));</code>

Solutions pour MySQL

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>

Vérification de la synchronisation

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn