PI: Überprüfen ob date() richtige Werte hat?

Tagchen, ich hab noch ein Problem.

Gibt es eine Möglichkeit zu überprüfen, ob die Werte (zb. "d.m.Y"), die date() übergeben wurden, gültige Werte sind, mit denen date() auch was anfangen kann?

  1. Hallo.

    Die Funktion checkdate() prüft, ob ein Datum auch tatsächlich existiert. Näheres hierzu in der Doku http://www.php3.de/checkdate

    Grüße aus Würzburg
    Julian

    --
    ss:) zu:{ ls:< fo:) de:< va:} ch:° n4:} rl:° br:> js:| ie:{ fl:( mo:)
    1. Ich will aber nicht überprüfen, ob ein Datum existiert, sondern wissen ob die vom Benutzer eingegebenen Werte für die date() Funktion (eben zb. "d.m.Y") überhaupt etwas zurückliefern.

      Ich weiß, dass date() bei falschen Werten einfach 0 zurückliefert, aber ist das immer bei falsche Werten so, oder unterschiedlich?

      1. Hallo.

        die date-Funktion erwartet als ersten Parameter den Format-String, als zweiten einen Timestamp. Habe ich es soweit jet richtig verstanden, dass vom User ein Timestamp kommt und dieser auf gültigkeit geprüft werden soll?
        Wenn ja, dass dürfte ein Check auf Länge des Wertes und darauf, ob er nur aus Ziffern besteht schon die Gültigkeit sicherstellen. Ggf. könnte auch noch ein bestimmter Zeitraum über größer/kleiner Abgleich vorgenommen werden.

        Grüße aus Würzburg
        Julian

        --
        ss:) zu:{ ls:< fo:) de:< va:} ch:° n4:} rl:° br:> js:| ie:{ fl:( mo:)
        1. Nicht ganz, es wird der Format-String übergeben und der sollte überprüft werden.

          Ich habe aber jetzt nochmal alles überdacht und bin zu dem Schluss gekommen, dass es eigentlich keinen Sinn macht, den Format-String zu überprüfen, da darin ja zb. auch Wörter vorkommen dürfen.
          Also denke ich, dass ich es jetzt mal unüberprüft lasse, denn eigentlich kann der Benutzer eingeben was er will und Schaden kann er damit ja keinen anrichten in der date() Funktion.

  2. Gibt es eine Möglichkeit zu überprüfen, ob die Werte (zb. "d.m.Y"), die date() übergeben wurden, gültige Werte sind, mit denen date() auch was anfangen kann?

    Verwende doch lieber das neue Datumsformat YYYY-MM-DD. Das steht auch im Duden und sollte von Programmierern nur noch verwandt werden. DD.MM.JJJJ ist veraltet, auch in Deutschland. Mehr Infos gibts bei google unter DIN 5008.

  3. http://de2.php.net/manual/de/function.date.php
    MFG Ukelick

    1. Hallo Ukelick.

      Sorry, aber bei einer soooo freundlichen und soooo ausführlichen Antwort kann ich's mir nicht verkneifen:
      http://forum.de.selfhtml.org/faq/#Q-19

      Grüße aus Würzburg
      Julian

      --
      ss:) zu:{ ls:< fo:) de:< va:} ch:° n4:} rl:° br:> js:| ie:{ fl:( mo:)