Heim >Datenbank >MySQL-Tutorial >Wie konvertiert man PHP-Daten in die MySQL-Formate DATE und DATETIME?

Wie konvertiert man PHP-Daten in die MySQL-Formate DATE und DATETIME?

Linda Hamilton
Linda HamiltonOriginal
2024-11-29 13:14:10787Durchsuche

How to Convert PHP Dates to MySQL DATE and DATETIME Formats?

PHP-Datum in MySQL-Format konvertieren

In PHP stößt man häufig auf Datumsfelder in dem Format, das in Ihrem Code verwendet wird:

$date = mysql_real_escape_string($_POST['intake_date']);

Bei der Arbeit mit MySQL ist es jedoch oft notwendig, dieses Datum in das MySQL-Format „0000-00-00“ umzuwandeln. zur Datenbankeinbindung. Auch wenn mir einige Variationen von date('Y-m-d' strtotime($date);) in den Sinn kommen, ist es wichtig, bestimmte Feinheiten bei dieser Konvertierung zu berücksichtigen.

1. Handhabung des MySQL-Spaltentyps

Wenn Ihre MySQL-Spalte vom Typ DATE ist und nur ein Datum ohne Uhrzeit angibt, lautet die empfohlene Konvertierungsmethode:

$date = date('Y-m-d', strtotime(str_replace('-', '/', $date)));

Dies ersetzt die Bindestriche „ -“ in der Datumszeichenfolge mit Schrägstrichen „/“, bevor Sie die Funktion strtotime() anwenden. Andernfalls versucht strtotime(), die durch Bindestriche getrennten Zahlen zu subtrahieren, was zu falschen Ergebnissen führt.

2. Konvertierung für den Typ DATETIME

Wenn Ihre MySQL-Spalte vom Typ DATETIME ist, der sowohl Datums- als auch Zeitkomponenten enthält, verwenden Sie stattdessen die folgende Konvertierung:

$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));

Hier halten wir uns daran nach dem gleichen Prinzip, „-“ durch „/“ zu ersetzen, aber wir fügen auch zusätzliche Formatierungen für Zeitkomponenten hinzu.

3. Alternativer Ansatz für komplexe Formate

Falls Ihr Datum in einem Format vorliegt, das sowohl mit den Funktionen strtotime() als auch date() nicht kompatibel ist, z. B. „02/07/2009 00:07:00“ , können Sie sich für eine auf regulären Ausdrücken basierende Konvertierung entscheiden:

$date = '02/07/2009 00:07:00';
$date = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '-- ', $date);

Diese Regex ordnet die Datumskomponenten in das erforderliche MySQL-Format um und stellt so sicher, dass Ihr PHP-Datumsfeld wird für die Aufnahme in die Datenbank entsprechend konvertiert.

Das obige ist der detaillierte Inhalt vonWie konvertiert man PHP-Daten in die MySQL-Formate DATE und DATETIME?. 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