Frage

Ich versuche, eine Funktion zu schreiben, ein Datum und Zeit für mich zu formatieren. Ich habe eine fast identische Funktion, die nur ein Datum formatiert. Diese Funktion funktioniert gut. Habe ich nur noch einen Code, um zu versuchen und haben es mit einer Zeit das Datumsformat. Es sollte etwas zurückgeben wie „18. Mai 2009 21.50 Uhr“, aber ich bin immer diese Warnung:

Warning: mktime() expects parameter 6 to be long, string given in
public_html/include/functions.php on line 421

Hier ist der Code, ich habe:

function dateTimeFormat($dateIn)
{
   $x = explode(" ",$dateIn);
   $y = explode("-",$x[0]);
   $z = explode(":",$x[1]);

   $year = $y[0]; 
   $month = $y[1];
   $day = $y[2];
   $hour = $z[0];
   $min = $z[1];

   $dateOut =date("F j, Y h:i A", mktime($hour, $min, 0, $month, $day, $year)); 

   return $dateOut;
}

Was ist Putting out ist auch falsch. Es setzt aus:

December 31, 1969 07:00 PM

aber der Zeitstempel in der Datenbank

2009-05-18 05:07:39
War es hilfreich?

Lösung

PHP hat schon eine ganz gute Datum-Parsing-Funktion: strtotime() . Es gibt einen Unix-Zeitstempel, die Sie date() passieren kann.

Mit anderen Worten, können Sie Ihre Funktion diese reduziert werden:

function dateTimeFormat($dateIn)
{
    return date("F j, Y h:i A", strtotime($dateIn));
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top