Marco Krip: Datum - Übermorgen

Hallo!

Ich würde gerne abfrage, ob zwei Tage vergangen sind. Allerdings pack ichs nicht. Kann mir jemand einen Hinweis geben wo mein Fehler liegt?

[...]
$timestamp = mktime($fields->UserPassRequest);
 if (time() > ($timestamp  + (86400 * 2)))
 {
  echo "Es sind 2 Tage vergangen!";
 }
  echo '$timestamp: '. $timestamp;
  echo '($timestamp  + (86400 * 2)): '.($timestamp  + (86400 * 2));
  echo 'time(): '. time();
  echo '$fields->UserPassRequest: '. $fields->UserPassRequest;
 }
[...]
Ausgabe:
$timestamp: 1158754058
($timestamp + (86400 * 2)): 1158926858
time(): 1151579258
$fields->UserPassRequest: 2006-06-29 12:07:43

Gruß
Marco

  1. Hi!

    $fields->UserPassRequest: 2006-06-29 12:07:43

    2006-06-29 12:07:43
    müsste
     12:07:43 2006-06-29
    sein?

    1. Moin Marco,

      2006-06-29 12:07:43
      müsste
      12:07:43 2006-06-29
      sein?

      was ist hierbei unklar?
      int mktime ( [int Stunde [, int Minute [, int Sekunde [, int Monat [, int Tag [, int Jahr [, int is_dst]]]]]]] )

      regds
      Mike©

      --
      Freunde kommen und gehen. Feinde sammeln sich an.
  2. Wieso benutzt du nicht mktime, sondern versuchst das Rad neu zu erfinden?

    1. Hi!

      Wieso benutzt du nicht mktime,

      Tue ich nicht?

      1. hi,

        Wieso benutzt du nicht mktime,

        Tue ich nicht?

        Doch, aber auf vollkommen blödsinnige Art und Weise.
        Schau im Manual nach, welche Parameter mktime erwartet, und was du stattdessen übergeben hast.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. hi,

    $timestamp = mktime($fields->UserPassRequest);
    if (time() > ($timestamp  + (86400 * 2)))
    {
      echo "Es sind 2 Tage vergangen!";

    echo "Es sind möglicherweise 2 Tage vergangen, vielleicht aber auch nicht - weil ich naiverweise annehme, ein Tag hätte immer 86400 Sekunden.";

    echo "Ich möchte mich im Manual über strtotime und/oder mktime informieren."

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi!

      echo "Es sind möglicherweise 2 Tage vergangen, vielleicht aber auch nicht - weil ich naiverweise annehme, ein Tag hätte immer 86400 Sekunden.";

      Gibt es außer bei der Umstellung von Sommer- auf Winterzeit noch weitere Fälle wo es nicht so ist?

      Gruß
      Marco

      Ps: Danke für den hinweis, war dumm mit mktime

      1. Hi,

        echo "Es sind möglicherweise 2 Tage vergangen, vielleicht aber auch nicht - weil ich naiverweise annehme, ein Tag hätte immer 86400 Sekunden.";
        Gibt es außer bei der Umstellung von Sommer- auf Winterzeit noch weitere Fälle wo es nicht so ist?

        Ja.
        Siehe http://www.ptb.de/de/org/4/44/441/ssec.htm#anchor-schaltsekunde

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  4. Hi,

    ($timestamp + (86400 * 2)): 1158926858

    time(): 1151579258

    Wenn das hier der aktuelle Zeitpunkt ist, dann ist

    $timestamp: 1158754058

    ein ganzes Stück in der Zukunft (der Unterschied ist in der 4. Stelle von links deutlich zu erkennen), ca. 83 Tage.

    Da geht wohl was bei mktime schief.
    Guckt man in die Doku (http://de2.php.net/manual/de/function.mktime.php), sieht man, daß Du die Funktion total falsch aufrufst.
    Daß dann auch was unsinniges rauskommt, ist ja wohl klar ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.