dave: Datumsumwandlung

Hallo,

Hab folgendes Problem, Hab in ner Datenbank Datumsangaben in folgendem Format gespeichert DDMMYYYY ohne Zeichen dazwischen. wie kann ich des in das Format DD.MM.YYYY bringen????

Danke im Voraus

Gruß

  1. DDMMYYYY ohne Zeichen dazwischen.

    ist es immer 20.05.1999 oder auch 20.5.1998?

    mfg Till

    1. DDMMYYYY ohne Zeichen dazwischen.

      ist es immer 20.05.1999 oder auch 20.5.1998?

      mfg Till

      enweder 3.12.2002 oder 12.05.2002 Das kann man aber mit ner Abfrage der Stelleanzahl regeln. Ich weiß nur nicht genau wie ich die Punkte dazwischenkrieg.

      gruß

      1. dann benutz eine dieser funktionen :D

        http://www.php.net/manual/de/function.wordwrap.php
        http://www.php.net/manual/de/function.substr.php

        substr ist empfehlenswerter...
        ne andere möglichkeit fällt mir nicht ein...

        mfg Till

      2. Huhu

        enweder 3.12.2002 oder 12.05.2002 Das kann man aber mit ner Abfrage der Stelleanzahl regeln. Ich weiß nur nicht genau wie ich die Punkte dazwischenkrieg.

        Aha, und was ist dann z.B. 2112002 ?

        Viele Grüße

        lulu

        --
        bythewaythewebsuxgoofflineandenjoytheday
        1. Huhu

          enweder 3.12.2002 oder 12.05.2002 Das kann man aber mit ner Abfrage der Stelleanzahl regeln. Ich weiß nur nicht genau wie ich die Punkte dazwischenkrieg.

          Aha, und was ist dann z.B. 2112002 ?

          Viele Grüße

          lulu

          In der DAtenbank sind nur die führenden Nullen gestrichen. In der mmitte liegende Nullen sind vorhanden...also bei deinem Beispiel kann des nur der 2.11.2002 sein.

          LOL Gruß

          1. Huhu dave

            In der DAtenbank sind nur die führenden Nullen gestrichen. In der mmitte liegende Nullen sind vorhanden...also bei deinem Beispiel kann des nur der 2.11.2002 sein.

            Na, dann ist es ja doch eindeutig.

            Wenn Du aber eh schon dabei bist das Feld umzuformatieren, würde ich Dir dringend empfehlen z.B. YYYY-MM-DD als Format zu nehmen.
            Damit steht Dir auch die Welt der SQL-Datumsfunktionen offen und Du hast keine Probleme mit Sortierungen nach Datum.
            Bei der Ausgabe lässt sich das dann sehr einfach in andere Formate wandeln.

            http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#DATETIME

            (ich glaube Du hattest MySQL nicht explizit erwähnt, aber ich nehme das einfach mal an)

            Viele Grüße

            lulu

            --
            bythewaythewebsuxgoofflineandenjoytheday
          2. Hallo beisammen,

            in jedem Fall möchte ich empfehlen,
            die Unixzeit zu verwenden (Sekunden seit 1.1.1970),
            und die in ner Datenbank als Integer (int) zu speichern.

            Das hat erhebliche Vorteile im Handling, bei Berechnungen
            und auch bei Datenbankkonvertierungen.

            Mit
            time() erhälst Du die aktuelle Unixzeit vom Server
            mktime() läßt sich aus nem Datum und/oder Uhrzeit die Unixzeit
            ermitteln.
            Und zurück gehts mit
            date() oder
            strftime()

            Auf php.net findet man zu jeder dieser Funktionen
            auch die passenden Beispiele ..

            Gruesse Dacor

            1. Huhu Dacor

              in jedem Fall möchte ich empfehlen,
              die Unixzeit zu verwenden (Sekunden seit 1.1.1970),

              da würde ich nach dem "in" ein "fast" einfügen.

              Da es ja durchaus Fälle gibt in denen Daten _vor_ 1970 eine Rolle spielen.

              Viele Grüße

              lulu

              --
              bythewaythewebsuxgoofflineandenjoytheday
              1. Mit php4 und mysl 3.23.x
                kann die Unixzeit durchaus negativ sein...

                Gruesse Dacor

          3. Hallo du da draußen,

            Als Parameter übergibst du einfach deine Zahl (2122002 oder 29031989) und du kriegst als return-Wert 2.12.2002 oder 29.03.1989. Als zweiten Parameter kannst du optionalöauch einen Trenner angeben. Gibst du hier z. B. "-" an, kommt 29-03-1989 heraus. Wenn du den Parameter weglässt, wird der Punkt benutzt.

            function datumumwandeln($datum, $trenner=".")
            {
              if(strlen($datum) == 8)
              {
                $return = substr($datum, 0, 2);
                $return .= $trenner;
                $return .= substr($datum, 2, 2);
                $return .= $trenner;
                $return .= substr($datum, 4, 4);
              }
              elseif(strlen($datum) == 7)
              {
                $return = substr($datum, 0, 1);
                $return .= $trenner;
                $return .= substr($datum, 1, 2);
                $return .= $trenner;
                $return .= substr($datum, 3, 4);
              }
              else
                $return = false;

            return $return;
            }

            Nehmen wir an, du hast die Zahl in einer Variable

            $mysql_datum = 29031989;

            gespeichert und du willst das Datum aus der Variable auf den Bildschirm schreiben:

            echo datumumwandeln($mysql_datum);

            Aber das weißt du ja hoffentlich!

            Grüße von hier drinnen, aus Biberach an der Riss (http://www.stadt-biberach.de),
            Dogfish

            --
            Let's close our eyes and see what happens
            (http://dogfish.net.tc / http://dogfishus.net.tc)
            1. @dogfish

              Danke Tipp war heiss und es hat geklappt

              Gruß an dich da drinnen...LOL