„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie konvertiere ich Epochenzahlen in für Menschen lesbare Daten in MySQL?

Wie konvertiere ich Epochenzahlen in für Menschen lesbare Daten in MySQL?

Veröffentlicht am 08.11.2024
Durchsuche:502

How to Convert Epoch Numbers to Human-Readable Dates in MySQL?

Konvertieren von Epochennummern in für Menschen lesbare Daten in MySQL

Im Bereich der Datenbankverwaltung ist es häufig erforderlich, Epochennummern in für Menschen lesbare Daten umzuwandeln. Epochennummern, die einen Zeitpunkt seit einer definierten Epoche darstellen, werden häufig zum Speichern von Zeitdaten in Datenbanksystemen wie MySQL verwendet.

Stellen Sie sich das hypothetische Szenario vor, in dem Sie eine Epochennummer wie 1389422614485 haben, die Folgendes darstellt einen bestimmten Zeitpunkt. Der Datentyp dieses Werts ist varchar, und Sie möchten ihn in ein verständliches Datumsformat umwandeln.

Detaillierte Lösung

Um diese Konvertierung in MySQL durchzuführen, müssen Sie Folgendes tun Sie müssen eine Kombination aus mathematischen Funktionen und der Funktion from_unixtime() nutzen:

mysql> select from_unixtime(floor(1389422614485/1000));

Explanation

In diesem Beispiel wird die Funktion from_unixtime() verwendet, um die Epochennummer, die normalerweise Millisekunden seit der Epoche darstellt, in eine Datumszeichenfolge umzuwandeln. Da unsere Epochennummer eine Millisekundengenauigkeit zu haben scheint, verwenden wir floor(1389422614485/1000), um sie in Sekunden seit der Epoche umzuwandeln, was die Eingabe ist, die from_unixtime() erwartet.

Ausgabe

 ------------------------------------------ 
| from_unixtime(floor(1389422614485/1000)) |
 ------------------------------------------ 
| 2014-01-11 12:13:34                      |
 ------------------------------------------ 

Die Ausgabe zeigt das menschenlesbare Datum an, das der angegebenen Epochennummer entspricht, im Format „JJJJ-MM-TT HH:MM:SS“.

Update für MySQL 8.0 und höher

Ab MySQL Version 8.0 ist die Floor-Funktion nicht mehr erforderlich, wenn in der Funktion from_unixtime() mit Millisekunden gearbeitet wird. Sie können die Epochennummer in Millisekunden direkt als Argument angeben:

mysql> select from_unixtime(1594838230234/1000);

Dies ergibt die folgende Ausgabe:

 ------------------------------------------ 
| from_unixtime(1594838230234/1000)        |
 ------------------------------------------ 
| 2020-07-15 18:37:10.2340                 |
 ------------------------------------------ 

Das wurde verfeinert Die Version der Abfrage unterstützt jetzt auch Nanosekundengenauigkeit.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3