MySQL: Konvertieren von Datumszeichenfolgen in Unix-Zeitstempel
Beim Abrufen von Datumszeichenfolgen aus einer Datenbank kommt es nicht selten zu Problemen mit inkonsistenter Formatierung, wie Zeitstempel, die AM- oder PM-Suffixe enthalten. In diesem Artikel wird gezeigt, wie Sie diese Datumszeichenfolgen effektiv in Unix-Zeitstempel konvertieren.
Das konkrete Problem besteht darin, Zeichenfolgen im Format „15. April 2012 00:00 Uhr“ in Unix-Zeitstempel zu konvertieren. Während der erste Versuch mit CONVERT(DATETIME, Sales.SalesDate, 103) und CONVERT(TIMESTAMP, Sales.SalesDate, 103) möglicherweise nicht erfolgreich war, liegt die Lösung in den folgenden Schritten:
Schritt 1: Konvertieren Sie die Datumszeichenfolge in DATETIME
Zu Beginn müssen wir die Datumszeichenfolge in a konvertieren DATETIME-Objekt mit der Funktion STR_TO_DATE. Diese Funktion erwartet zwei Parameter: den Datumsstring und den Formatstring. In diesem Fall sollte die Formatzeichenfolge mit dem Format der Eingabezeichenfolge („%M %d %Y %h:%i%p“) übereinstimmen.
STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p')
Schritt 2: Konvertieren Sie DATETIME in Unix Zeitstempel
Sobald wir das DATETIME-Objekt haben, können wir es mit der Funktion UNIX_TIMESTAMP in einen Unix-Zeitstempel konvertieren. Diese Funktion verwendet ein DATETIME-Objekt als Argument und gibt den entsprechenden Unix-Zeitstempel zurück.
UNIX_TIMESTAMP(SELECT STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))
Durch Befolgen dieser Schritte können wir Datumszeichenfolgen mit AM- oder PM-Suffixen erfolgreich in das gewünschte Unix-Zeitstempelformat konvertieren.
Zusätzliche Überlegungen zur Formatierung
Wenn das gewünschte Ausgabeformat vom Standard abweicht Wenn wir einen Unix-Zeitstempel haben, können wir ihn mit der Funktion FROM_UNIXTIME weiterverarbeiten, um die Formatierung anzupassen. Diese Funktion benötigt zwei Argumente: den Unix-Zeitstempel und eine neue Formatzeichenfolge.
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p')
Dieser Code konvertiert den Unix-Zeitstempel in eine Datumszeichenfolge im Format „mm-tt-jjjj hh:mm:ss“.
Fazit
Durch das Verständnis, wie man Datumszeichenfolgen in DATETIME-Objekte konvertiert und dann mit Unix-Zeitstempeln gewinnen wir eine größere Flexibilität bei der Arbeit mit datumsbezogenen Daten in MySQL. Die in diesem Artikel beschriebenen Techniken bieten einen zuverlässigen und effizienten Ansatz zur Lösung häufiger Formatierungsprobleme und zum Extrahieren wertvoller Informationen aus Datumszeichenfolgen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich MySQL-Datumszeichenfolgen mit AM/PM-Suffixen in Unix-Zeitstempel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!