======[PHP] date_reformat====== 2 Funktionen zum umformatieren von Datumsstring ===== Funktion ===== /** * umformatieren eines Datumsstrings anhand der date()-Formate * @param String Datumsstring * @param String Aktuelles Format. zB. 'd.m.Y H:i:s' * @param String Neues Format. zB. 'm/d/Y' * @return String Formatierts Datum anhand von $oldFomat * @example * echo date_reformat('14.10.2013 12:18:53', 'd.m.Y H:i:s', 'm/d/Y'); * return '10/14/2013' */ function date_reformat($string, $oldFormat, $newFormat){ return DateTime::createFromFormat($oldFormat, $string)->format($newFormat); } /** * umformatieren eines Datumsstrings aus einem date()-Format in ein strftime()-Format * Der Vorteil gegenüber date_reformat() ist, dass man im enuen Format it Texten arbeiten kann * @param String Datumsstring * @param String Aktuelles Format. zB. 'd.m.Y H:i:s' * @param String Neues Format. zB. '%m/%d/%Y' * @return String Formatierts Datum anhand von $oldFomat * @example * echo date_freformat('14.10.2013 12:18:53', 'd.m.Y H:i:s', '%d.%m.%Y ist der %j Tag im Jahr %Y'); * return '14.10.2013 ist der 287 Tag im Jahr 2013' */ function date_freformat($string, $oldFormat, $newFormat){ $timestamp = DateTime::createFromFormat($oldFormat, $string)->getTimestamp(); return strftime($newFormat, $timestamp); } Testcode echo date_reformat('14.10.2013 12:18:53', 'd.m.Y H:i:s', 'm/d/Y'); echo '
'; echo date_freformat('14.10.2013 12:18:53', 'd.m.Y H:i:s', '%d.%m.%Y ist der %j Tag im Jahr %Y');
Ausgabe 10/14/2013 14.10.2013 ist der 287 Tag im Jahr 2013 {{tag>PHP Function Date}}