Rudi: datum parsen

Hallo,

ich bekomme das Datum aus der Datenbank und muß es nun in einzelnen Variablen splitten.

Nur funktioniert das nicht wirklich bzw ich weiß nicht wie ich es machen soll?

Meine Teillösung sieht so aus:

$datum = '2004-05-03 20:44:26';
   list ($jahr, $monat, $tag) = split('[-]', $datum);
   $uhrzeit = '2004-05-03 20:44:26';
   list ($stunde, $minute) = split('[:]', $uhrzeit);

echo "tag: ".$tag." monat: ".$monat." jahr: ".$jahr."<br>stunde: ".$stunde." minute: ".$minute;

Ausgabe:
tag: 03 20:44:26 monat: 05 jahr: 2004
stunde: 2004-05-03 20 minute: 44

Variable $tag und $stunde wäre in meinem Fall falsch aber wie kriege ich das geraffel dahinter weg?

Gruß Rudi

  1. hi,

    $datum = '2004-05-03 20:44:26';
       list ($jahr, $monat, $tag) = split('[-]', $datum);

    das teilt $datum am - auf, ergibt also die drei teile '2004', '05' und '03 20:44:26'.

    $uhrzeit = '2004-05-03 20:44:26';
       list ($stunde, $minute) = split('[:]', $uhrzeit);

    das teilt $uhrzeit am : auf, ergibt also die drei teile '2004-05-03 20', '44' und '26'.

    Ausgabe:
    tag: 03 20:44:26 monat: 05 jahr: 2004
    stunde: 2004-05-03 20 minute: 44
    Variable $tag und $stunde wäre in meinem Fall falsch

    nein, vollkommen korrekt, s.o.

    aber wie kriege ich das geraffel dahinter weg?

    mit einer intelligenteren strategie.
    du könntest z.b. den string '2004-05-03 20:44:26' zu erst mal am leerzeichen auftrennen, den ersten teil zerlegst du dan am -, den zweiten am :

    oder du schaust dir reguläre ausdrücke und preg_match() an.
    oder du lässt dir gleich die zerlegten werte von der DB liefern.

    gruss,
    wahsaga

    --
    http://wazgnuks.net/ - back from the dead
    1. Hallo wahsaga

      ich habe es nun so gelöst wie Du es mir gesagt hast ;)

      Aber das mit preg_match() verstehe ich nicht wirklich wie soll das gehen? Vielleicht habe ich ein Brett vorm Kopf?

      Gruß Gerda

      1. hi,

        Aber das mit preg_match() verstehe ich nicht wirklich wie soll das gehen?

        preg_match arbeitet mit regulären ausdrücken - sehr mächtig, aber auch nicht ganz trivial.

        näheres dazu steht im PHP-manual bei der erklärung zur funktion verlinkt, und tutorials dürften auch reichlich aufzufinden sein.

        gruss,
        wahsaga

        --
        http://wazgnuks.net/ - back from the dead
  2. Hallo!

    $datum = '2004-05-03 20:44:26';

    $split = split("[:]|[-]|[ ]", $datum);

    echo var_dump($split);

    Aber wenn das Datum aus einer Datenbank kommt, was sicherlich MySQL sein wird: http://www.dclp-faq.de/q/q-datum-mysql.html.

    MfG, André Laugks

    --
    L-Andre @ gmx.de