Datum- bzw. Zeichenstring mit Separatoren

julia29

Erfahrenes Mitglied
Zur Generierung einer eindeutigen ID über Datum + Zeit wird dies mit


Code 1 zwar ausgegeben ist aber mit 14 Stellen schlecht lesbar.
1. Zeichenstring 14 Stellen ohne Separatoren, Jahreszahl lang:
20071226125026
PHP:
$nr = date(YmdHis);


Code 2, mit Separatoren schon besser.
2. Zeichenstring 14 Stellen mit Separatoren, Jahreszahl lang:
20.071.226.125.026
PHP:
$nr = date(YmdHis);
$nr1 = number_format($nr, 0, ',', '.');


Mit Code 3, als kurze Jahreszahl, also statt '2007' nur '07' wird das noch besser, nur jetzt wird meine führende Null verschluckt.
3. Zeichenstring 12 Stellen mit Separatoren, Jahreszahl kurz:
71.226.125.026
PHP:
$nr = date(ymdHis);
$nr1 = number_format($nr, 0, ',', '.');

Frage - wie bekomme ich in Code 3 die führende Null wieder rein?
 
Die number_format()-Funktion formatiert Zahlenwerte. Und der Wert „07…“ ist nun mal als Zahlenwert gleich „7…“, da das Dezimalsystem keine führenden Nullen hat beziehungsweise diese gestrichen werden können.

Du könntest aber stattdessen Folgendes benutzen:
PHP:
implode('.', str_split(date('ymdHis'), 3))
 
Du könntest aber stattdessen Folgendes benutzen:
PHP:
implode('.', str_split(date('ymdHis'), 3))

wird bei mir jedoch nur mit Fehler ausgegeben
PHP:
<?php
echo $nr = implode('.', str_split(date('ymdHis'), 3));
?>

Fatal error: Call to undefined function: str_split() in /var/kunden/webs/.....

oder habe ich was übersehen?
 
Du verwendest dann vermutlich eine PHP-Version kleiner als die Version 5. Du kannst die Funktion aber auch selbst deklarieren:
PHP:
if( !function_exists('str_split') ) {
	function str_split( $string, $split_length=1 )
	{
		$retVal = array();
		if( $split_length < 1 ) {
			trigger_error('The length of each segment must be greater than zero.', E_USER_WARNING);
			return null;
		}
		$split_length = floor($split_length);
		$strlen = strlen($string);
		for( $i=0; $i<$strlen; $i+=$split_length ) {
			$retVal[] = substr($string, $i, $split_length);
		}
		return $retVal;
	}
}
 

Neue Beiträge

Zurück