User Tools

Site Tools


php:functions:date:datereformat

[PHP] date_reformat

2 Funktionen zum umformatieren von Datumsstring

Funktion

date_reformat.php
/**
 * 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 '<br />';
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
php/functions/date/datereformat.txt · Last modified: 09.12.2013 09:39:54 (external edit)