Heim  >  Artikel  >  Datenbank  >  Wie arbeite ich mit Zeitzonen in MySQL?

Wie arbeite ich mit Zeitzonen in MySQL?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 19:59:29445Durchsuche

How to Work with Time Zones in MySQL?

MySQL-Zeitzonen

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.

Liste der Zeitzonen

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`;

Ortszeit von Calgary einstellen

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.

Fehlerbehebung

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!"
fi

Das 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn