MySQL bietet Unterstützung für eine Vielzahl von Zeitzonen und ermöglicht Ihnen das Speichern und Bearbeiten von Datums- und Uhrzeitangaben in verschiedenen geografischen Regionen.
MySQL >= 5.7
Um eine vollständige Liste der MySQL-Zeitzonen anzuzeigen, führen Sie die folgende Abfrage aus:
<code class="sql">SELECT * FROM mysql.time_zone_name;</code>
MySQL < 5.7
Um die Zeitzonendaten aus dem System zu laden und die Liste anzuzeigen, führen Sie diese Befehle aus:
<code class="bash">mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
<code class="sql">USE mysql; SELECT * FROM `time_zone_name`;
Um die Zeit in der Ortszeit von Calgary anzuzeigen, können Sie die Systemvariable time_zone festlegen:
<code class="sql">SET time_zone = 'America/Edmonton';
Hinweis: Ersetzen Sie „America/Edmonton“ durch die entsprechende Zeitzonenkennung für Calgary.
Wenn Sie feststellen, dass Zeitzonen in MySQL nicht verfügbar sind, führen Sie den folgenden Befehl aus:
<code class="bash">mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Dieser Befehl lädt die Systemzeitzonendaten in MySQL.
Regelmäßige Updates
Um sicherzustellen, dass MySQL-Zeitzonen automatisch aktualisiert werden, wenn sich die Systemzeitzonen ändern, fügen Sie das folgende Skript zu einem Cron-Job hinzu:
#!/bin/bash
if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then
echo "Updating MySQL timezone info"
mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql
echo "Done!"
fiDas obige ist der detaillierte Inhalt vonWie arbeite ich mit Zeitzonen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!