DATETIME mit strtotime,substr oder mit explode bearbeiten?
Badboy46
- php
Hallo,
leider ist mein andere Beitrag http://forum.de.selfhtml.org/archiv/2004/8/t86572/ schon ins Archiv geruscht
ich bekomm aus einer Session ein DATETIME String
Beispiel: 2004-08-04 19:28:07
ich brauche einmal 04.08.2004 und dann 18:28
ich hab 2 Lösungsansätze laut den anderen Thread
$datum[0] soll das Datum beinhalten und $datum[1] die Uhrzeit
===============================================
#$time = $_SESSION[_SESSIONNAME][_SESSIONDATA]['_fehlversuchzeit'];
$time = '2004-08-04 19:28:07';
#Lösungsansatz 1
function ansatz1($a){
$b[0] = substr($a, 8, 2).'.'.substr($a, 5, 2).'.'.substr($a, 0, 4);
$b[1] = substr($a, -8, -3);
return $b;
}
$ansatz1 = ansatz1($time);
print $ansatz1[0].' -> '.$ansatz1[1].'<br >';
#Lösungsansatz 2
function ansatz2($a){
$b = strtotime($a);
$c[0] = date('d.m.Y',$b);
$c[1] = date('H:i',$b);
return $c;
}
$ansatz2 = ansatz2($time);
print $ansatz2[0].' -> '.$ansatz2[1].'<br >';
welcher Lösungsantz ist zu empfehlen/nicht zum empfehlen, bzw. von der Geschwindigkeit die schnellste/langsamste
Bei Lösungsansatz 1 hätte man den Vorteil, dass man mit'n Datum noch mehr machen könnte zur Späteren Zeit z.B. Wochennr. anzeigen lassen etc.
kann man die Lösungsansätze noch optimieren?
habt Ihr vielleicht noch andere Lösungsansätze?
was würdet ihr nehmen?
Fragen über Fragen ;-)
Hello,
ich hatte Dir schon einmal darauf geantwortet:
die Lösung mit substr() wird die billigste sein und die mit den Zeitfunktionen die teuerste.
Wissen kannst Du das nur, wenn Du mal ein Messscript baust, in der jede Möglichkeit mehrere Male hintereinder ausgeführt wird und dieses Messscript dann auch mehrmals ausführst (wegen der Störung durch andere Prozesse).
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom,
erstmal danke für deien Antwort.
die Lösung mit substr() wird die billigste sein und die mit den Zeitfunktionen die teuerste.
hm... kann man die mit substr() noch irgendwie optimieren?
denn da muss ich den String ja 4mal mit substr() bearbeiten
Wissen kannst Du das nur, wenn Du mal ein Messscript baust, in der jede Möglichkeit mehrere Male hintereinder ausgeführt wird und dieses Messscript dann auch mehrmals ausführst (wegen der Störung durch andere Prozesse).
wie baut man so ein Messscript? ich habe soetwas noch nicht gemacht, habe auch keinen Ansatz, wonach ich bei http://de3.php.net schauen müsste
hi,
wie baut man so ein Messscript? ich habe soetwas noch nicht gemacht, habe auch keinen Ansatz, wonach ich bei http://de3.php.net schauen müsste
http://dclp-faq.de/q/q-code-performance.html hilft weiter.
gruß,
wahsaga
Hallo,
wie baut man so ein Messscript? ich habe soetwas noch nicht gemacht, habe auch keinen Ansatz, wonach ich bei http://de3.php.net schauen müsste
http://dclp-faq.de/q/q-code-performance.html hilft weiter.
danke, werde das bei Zeiten mal durchprobieren
Hi Badboy!
wie baut man so ein Messscript? ich habe soetwas noch nicht gemacht, habe auch keinen Ansatz, wonach ich bei http://de3.php.net schauen müsste
Schau dir mal die Funktion microtime bei php.net an: http://de3.php.net/manual/de/function.microtime.php
Das dort gefunde Messscript ist eigentlich ganz brauchbar.
Grüße,
Fabian St.
Hello,
die Lösung mit substr() wird die billigste sein und die mit den Zeitfunktionen die teuerste.
hm... kann man die mit substr() noch irgendwie optimieren?
denn da muss ich den String ja 4mal mit substr() bearbeiten
Funktionen, die PHP innerhalb eines Scriptes benutzt, werden cached solange sie nicht zuviel Speicher verbrauchen. Der nochmalige Aufruf geht jedenfalls schneller, ald er erste.
Da PHP keinen direkten Zugriff auf den Speicher und auch keine Structs gestattet, fällt mir da uch nix besseres ein.
Wissen kannst Du das nur, wenn Du mal ein Messscript baust, in der jede Möglichkeit mehrere Male hintereinder ausgeführt wird und dieses Messscript dann auch mehrmals ausführst (wegen der Störung durch andere Prozesse).
wie baut man so ein Messscript? ich habe soetwas noch nicht gemacht, habe auch keinen Ansatz, wonach ich bei http://de3.php.net schauen müsste
Damit mit den Theorie-Profis nicht erst wieder ein Disput entsteht, sie hier auch darauf hingewiesen, dass man das in der Theorie anders löst. Da muss der Preis pro Statement ermittelt werden. Aber für eine einfache Mittelung des Preises reicht auch solch ein "Messverfahren".
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
kennst du noch mehr Ansätze, wie man dies lösen könnte?
mich würde mal interessieren, mit wieviel unterschiedlichen Ansätzen man bei dieser Aufgabe zur Lösung kommt :-)
Hallo,
kennst du noch mehr Ansätze, wie man dies lösen könnte?
Wenn Du Einfluß auf die Art der Zeitangabe hast, dann solltest Du einen Timestamp ablegen, der läßt sich am einfachsen (daten("ANGABEN"[, int Timestamp])) konvertieren.
Gruß aus Berlin!
eddi