412 Stimmen

PHP date()-Format beim Einfügen in datetime in MySQL

Welches ist das richtige Format für die Übergabe an die date() Funktion in PHP, wenn ich das Ergebnis in eine MySQL-Datei einfügen möchte datetime Typ-Spalte?

Ich habe versucht date('Y-M-D G:i:s') aber das fügt jedes Mal nur "0000-00-00 00:00:00" ein.

12voto

SandroMarques Punkte 4912

Ich verwende diese Funktion (PHP 7)

function getDateForDatabase(string $date): string {
    $timestamp = strtotime($date);
    $date_formated = date('Y-m-d H:i:s', $timestamp);
    return $date_formated;
}

Ältere Versionen von PHP (PHP < 7)

function getDateForDatabase($date) {
    $timestamp = strtotime($date);
    $date_formated = date('Y-m-d H:i:s', $timestamp);
    return $date_formated;
}

9voto

Ahmed Saber Punkte 432

Zeitstempel in MySQL DATETIME-Spalte formatieren:

strftime('%Y-%m-%d %H:%M:%S',$timestamp);

8voto

dev4092 Punkte 2542

MySQL datetime mit PHP formatieren

$date = "'".date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $_POST['date'])))."'";

8voto

Adam Punkte 20147

Es besteht keine Notwendigkeit, die date()-Methode von PHP zu verwenden, wenn Sie keinen Zeitstempel verwenden. Wenn dateposted eine Datetime-Spalte ist, können Sie das aktuelle Datum wie folgt einfügen:

$db->query("INSERT INTO table (dateposted) VALUES (now())");

5voto

The Onin Punkte 4283

Verwendung von DateTime Klasse in PHP7+:

function getMysqlDatetimeFromDate(int $day, int $month, int $year): string
{
 $dt = new DateTime();
 $dt->setDate($year, $month, $day);
 $dt->setTime(0, 0, 0, 0); // set time to midnight

 return $dt->format('Y-m-d H:i:s');
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X