jimmy: frage zum timestamp

hi leute!
hoffe ihr habt mehr ahnung von datumsfunktionen...
ich hab über 3 eingabefelder ein datum in nem timestamp gespeichert,
db: einkauf_datum` TIMESTAMP NOT NULL
php: $einkauf_datum = mktime(12,00,0,$monat, $tag, $jahr);

nun schaff ich es leider nicht mehr dieses datum auszulesen...
weis jemand rat???
gruß
jimmy

  1. Hi jimmy,

    nun schaff ich es leider nicht mehr dieses datum auszulesen...

    Die Funktion date() sollte helfen.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
    Auf viele Fragen weiß auch Wikipedia eine Antwort.
    1. Hallo Dennis,

      Die Funktion date() sollte helfen.

      warum etwas PHP machen lassen, wo MySql das doch genaus kann? Zumal date() mit dem Timestamp-Format von MySql nichts anfangen kann ...

      Grüße aus Nürnberg
      Tobias

      1. Hi Tobias,

        Die Funktion date() sollte helfen.
        warum etwas PHP machen lassen, wo MySql das doch genaus kann? Zumal date() mit dem Timestamp-Format von MySql nichts anfangen kann ...

        Jimmy hat sich UNIX Timestamps mittels mktime() erstellt - und die kann man sehr wohl mit date() verarbeiten ;-)

        Wenn er jetzt natürlich komplett darauf umsteigen würde, die Timestamps alle im MySQL Format zu speichern (dazu hatte ich neulich schon mal was geschrieben, siehe dieses Posting und nachfolgende), wäre das sicherlich nicht schlecht - da stimme ich dir vollkommen zu.

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
        Ein wirklich weiser Mann spielt nie mit einem Einhorn Bockspringen. (Häfft)
        1. Hallo Dennis,

          Jimmy hat sich UNIX Timestamps mittels mktime() erstellt - und die kann man sehr wohl mit date() verarbeiten ;-)

          ja - aber nicht, wenn man sie danach in einer MySql-Datenbank im Format "TIMESTAMP" gespeichert hat :-)

          Grüße aus Nürnberg
          Tobias

  2. Hallo jimmy!

    ich hab über 3 eingabefelder ein datum in nem timestamp gespeichert,

    Wie sieht das aus?

    db: einkauf_datum` TIMESTAMP NOT NULL
    php: $einkauf_datum = mktime(12,00,0,$monat, $tag, $jahr);

    Was soll das sein, bes. "db: [...]"?

    nun schaff ich es leider nicht mehr dieses datum auszulesen...

    Welche Fehlermeldung erhälst du?

    weis jemand rat???

    Ich würde dir gerne den Weg wei_s_en, aber bei dieser Beschreibung,
    nein.

    ℆, ℒacℎgas

    --
    Bei der intendierten Realisierung der linguistischen Simplifizierung
    des regionalen Idioms resultiert die Evidenz der Opportunität extrem
    apparent, den elaborierten und quantitativ opulenten Usus nicht assi-
    milierter Xenologien konsequent zu eliminieren!
  3. Hallo jimmy,

    ich hab über 3 eingabefelder ein datum in nem timestamp gespeichert,

    Wieso 3? eines reicht doch völlig ...

    Ich gehe jetzt einfach mal davon aus, dass dein DBMS MySql ist:

    db: einkauf_datum` TIMESTAMP NOT NULL
    php: $einkauf_datum = mktime(12,00,0,$monat, $tag, $jahr);

    dass MySql und PHP unter einem timestamp was völlig anderes verstehen, ist dir aber schon klar, oder? (Siehe Timestamp-PHP bzw. Timestamp-Mysql)

    nun schaff ich es leider nicht mehr dieses datum auszulesen...

    Um aus einer MySql-Datenbank Datumswerte auszulesen, schau dir mal die Datums- und Zeitfunktionen von MySql (besonders DATE_FORMAT()) an.

    Grüße aus Nürnberg
    Tobias

    1. Wieso 3? eines reicht doch völlig ...

      um eingabefehler auszuschließen

      Ich gehe jetzt einfach mal davon aus, dass dein DBMS MySql ist:

      ja

      db: einkauf_datum` TIMESTAMP NOT NULL
      php: $einkauf_datum = mktime(12,00,0,$monat, $tag, $jahr);
      dass MySql und PHP unter einem timestamp was völlig anderes verstehen, ist dir aber schon klar, oder? (Siehe Timestamp-PHP bzw. Timestamp-Mysql)

      ich wusste davon, nur ned wie ich das eine in das andere format bekomm

      nun schaff ich es leider nicht mehr dieses datum auszulesen...
      Um aus einer MySql-Datenbank Datumswerte auszulesen, schau dir mal die Datums- und Zeitfunktionen von MySql (besonders DATE_FORMAT()) an.

      danke für die links, werd mich mal durchlesen!

  4. wow, das ging ja schnell...!

    @lachgas
    db ? feld in der datenbank

    @dennis
    mit date() hab ich mich schon versucht, kam aber über das heutige datum nicht hinaus.

    wenn ich mir den timestamp vor dem speichern ausgeben lass bekomm ich bei dem datum 5.7.2004 als wert 1089021600, in der datenbank jedoch nur  00000000000000. hatte zwar heut auch schon werte eintragen können, aber das scheint jetzt auch nimma zu gehen...???

    1. Hi jimmy,

      @dennis
      mit date() hab ich mich schon versucht, kam aber über das heutige datum nicht hinaus.

      echo date("Y-m-d H:i:s", $timestamp);

      Wobei $timestamp deine Variable ist, in der eben dein UNIX Timestamp vorliegt - stand aber auch auf der verlinkten Seite im PHP Manual.

      MfG, Dennis.

      --
      Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
      Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker von WWWTech gehören und nicht hier her?
    2. Hallo jimmy,

      wenn ich mir den timestamp vor dem speichern ausgeben lass bekomm ich bei dem datum 5.7.2004 als wert 1089021600, in der datenbank jedoch nur  00000000000000.

      Du musst den PHP-Timestamp beim Einfügen in die Datenbank erst mit FROM_UNIXTIME(php-timestamp) konvertieren:
      INSERT INTO tabelle SET einkauf_datum = FROM_UNIXTIME(php_timestamp)
      (ungetestet)

      Beim Auslesen kannst du dann entweder mit UNIX_TIMESTAMP() wieder einen Timestamp erzeugen mit dem PHP was anfangen kann (->SELECT UNIX_TIMESTAMP(einkauf_datum) as einkauf_datum FROM tabelle) oder (imho besser) du holst gleich das fertig formatierte Datum.

      Grüße aus Nürnberg
      Tobias