Datum kürzen
bearbeitet von ursus contionabundo> Ich habe nicht geschwiegen, ich habe dir doch erklärt, wofür die Negativ-Bewertung war.
Stellt sich die Frage "wann" und welche Provokation dafür notwendig war.
> Deine ursprüngliche Funktion macht aber auch viel mehr, als das was du gebenchmarkt hast.
Dann messen wir die eben mal, das Ergebnis wird Dir nicht gefallen:
~~~
<?php
function dedlfix ( $input ) {
return date( 'd.m.y', strtotime( $input ) );
}
function ursus( $date = false ) {
if ( false === $date ) {
$date = time();
}
if ( 'string' == gettype( $date ) ) {
return (
substr( $date, 8, 2) . '.'
. substr( $date, 5, 2 ) . '.'
. substr( $date, 2, 2 )
);
} elseif ( 'integer' == gettype( $date ) ) {
return date( 'd.m.y', $date );
} else {
trigger_error(
"function date2german: Typ für '$date' nicht implementiert.",
E_USER_NOTICE
);
return false;
}
}
$Imax = 1000000;
$string = '2019-07-05';
$Tstart = microtime(true);
for ( $i=0; $i < 10000; $i++ ) {
$dummy = dedlfix( $string );
}
echo "Methode dedlfix: " . ( microtime(true) - $Tstart ) , "\n";
$Tstart = microtime(true);
for ( $i=0; $i < 10000; $i++ ) {
$dummy = ursus( $string );
}
echo "Methode ursrus : " . ( microtime(true) - $Tstart ) , "\n";
~~~
Ausgaben:
~~~
Methode dedlfix: 0.087255001068115
Methode ursrus : 0.02013111114502
~~~
Datum kürzen
bearbeitet von ursus contionabundo> Deine ursprüngliche Funktion macht aber auch viel mehr, als das was du gebenchmarkt hast.
Dann messen wir die eben mal, das Ergebnis wird Dir nicht gefallen:
~~~
<?php
function dedlfix ( $input ) {
return date( 'd.m.y', strtotime( $input ) );
}
function ursus( $date = false ) {
if ( false === $date ) {
$date = time();
}
if ( 'string' == gettype( $date ) ) {
return (
substr( $date, 8, 2) . '.'
. substr( $date, 5, 2 ) . '.'
. substr( $date, 2, 2 )
);
} elseif ( 'integer' == gettype( $date ) ) {
return date( 'd.m.y', $date );
} else {
trigger_error(
"function date2german: Typ für '$date' nicht implementiert.",
E_USER_NOTICE
);
return false;
}
}
$Imax = 1000000;
$string = '2019-07-05';
$Tstart = microtime(true);
for ( $i=0; $i < 10000; $i++ ) {
$dummy = dedlfix( $string );
}
echo "Methode dedlfix: " . ( microtime(true) - $Tstart ) , "\n";
$Tstart = microtime(true);
for ( $i=0; $i < 10000; $i++ ) {
$dummy = ursus( $string );
}
echo "Methode ursrus : " . ( microtime(true) - $Tstart ) , "\n";
~~~
Ausgaben:
~~~
Methode dedlfix: 0.087255001068115
Methode ursrus : 0.02013111114502
~~~