PHP --> Zahl zerteilen
XeroXs 21.05.2002 - 23:03 1083 7
XeroXs
Vereinsmitglieddoh
|
tag..
folgendes...
Ich hab ne datenbank, da steht eine Zahl im Format YYYYMMDDHHMMSS drinnen
also z.b.
20021230245900
wie kann ich diese zahl am besten so zerteilen das ich eben stücke erhalte die folgendermaßen aufgeteilt sind..
4 Zahlen -> YYYY [2002] 2 Zahlen -> MM [12] 2 Zahlen -> DD [30] 2 Zahlen -> HH [24] 2 Zahlen -> MM [59] 2 Zahlen -> SS [00]
wichtig ist, ich wills nciht nach trennzeichen teilen, das wär ja kein problem.. sondern eben nach anzahl zeichen
|
Tex
got r00t?
|
|
XeroXs
Vereinsmitglieddoh
|
aaah thx
|
Guest
Deleted User
|
warum speicherst das datum ned gleich gscheit in die db? unix-timestamp rein und die gschicht rennt ...
|
bernhard
Little Overclocker
|
Diese Aufgabenstellung schreit förmlich nach einer regular expression: <?
$string="20021231111100";
preg_match("/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/",$string,$regs);
list(,$datum["jahr"],$datum["monat"],$datum["tag"],$datum["stunde"],$datum["minute"],$datum["sekunde"])=$regs;
print_r($datum);
?>
Nein, "/(\d{4})(\d{2}){5}/" oder ähnliches ist hier leider nicht möglich. $regs würde nicht korrekt befüllt werden. P.S.: Wie schon angeregt, macht es auch durchaus Sinn, nochmals das Tabellendesign der Datenbank zu überdenken...
|
Vir@s
Code Monkey
|
Stimm den deRelict zu - würd des gleich gscheid in die DB schreiben.
Und übrigens gibt es eigene Datums Felder in "manchen" DB's - wo du dann des Datum gleich formatiert über den SQL query holen kannst!
Mfg, Vir@s
|
manalishi
tl;dr
|
so seh ich das auch. datetime und aus
|
XeroXs
Vereinsmitglieddoh
|
brr da bekommt ma ja angst ok.. folgendes i brauch a einfaches script das prüft ob die letzte zeit die in der db eingetragen ist schon eine gewisse zeit überschritten ist.. wenn ja ein script ausführt (so oft wie das zeitinterval schon vorbei ist) und danach eine neue zeit in die datenbank schreibt.. und wenn ich da soa zahl reinschreib isses am einfachsten denk ich mir.. brauch ich nicht mit datumszeug herumtun... Beispiel: 20020420201500 steht in der db... es ist der selbe tag aber 21:16 (inverval ist eine stunde) er liest zeit aus prüft ob es größer als aktuellerstring+10000 ist, wenn ja führt er das script aus. ist denk ich das einfachste für meinen zweck.. oda hat wer ne bessere/einfachere idee?
Bearbeitet von XeroXs am 24.05.2002, 20:05
|