time() +50 Jahre = Ablaufdatum???

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast
    Ein Gast antwortete
    Hierzu:

    http://www.phpinsider.com/php/code/Date_Calc/

    bzw. mittlerweile in Pear:
    http://pear.php.net/package-info.php?pacid=57

    7-/anz

    Einen Kommentar schreiben:


  • Damian1984
    antwortet
    testes du auf Windows???
    dann könnte es ja evtl. daran leigen:

    Windows: Negative Timestampwerte werden von keiner uns bekannten Windowsversion unterstützt. Aus diesem Grund ist der Gültigkeitsbereich für Jahresangaben auf Werte zwischen 1970 und 2038 eingeschränkt.
    http://de2.php.net/manual/de/function.mktime.php

    und heute + 50 ist ja n bissel später als 2038...
    EDIT:
    bin wohl ein wenig zu gemütlich

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Re: time() +50 Jahre = Ablaufdatum???

    $A['unixdate_end'] = time() + 50*31536000;
    der ansatz ist sowieso schon mal ungeeignet, da du nicht für jedes jahr 365 tage addieren kannst (remember: es gab da sowas, dass nennt sich schaltjahre ...)


    und beim timestamp gibt es doch das "problem", dass der nur bis irgendwann ins jahr 2037 funktioniert (*), weil danach die sekundenzahlen zu gross werden ... und da 2003 + 50 > 2037 ist, kommt es wohl zu einem überlauf, und demzufolge kommt dann mist raus.


    (*) siehe dazu auch http://www.php.net/manual/de/function.date.php,
    "Anmerkung: Der gültige Bereich eines Timestamp liegt typischerweise zwischen Fri, 13 Dec 1901 20:45:54 GMT und Tue, 19 Jan 2038 03:14:07 GMT. (Das entspricht den minimalen und maximalen Werten für einen vorzeichenbehafteten 32-Bit Integer). Auf Windows-Betribssytemen liegt ist dieser Bereich beschränkt auf 01-01-1970 bis 19-01-2038."
    Zuletzt geändert von wahsaga; 09.07.2003, 16:36.

    Einen Kommentar schreiben:


  • minuta
    hat ein Thema erstellt time() +50 Jahre = Ablaufdatum???.

    time() +50 Jahre = Ablaufdatum???

    Hallo!
    Ich habe ein Problem mit dem Ablaufdatum:

    $A['unixdate_end'] = mktime(0,0,0,date('m'),date('d'),date('Y')+50);
    oder
    $A['unixdate_end'] = time() + 50*31536000;

    geben beide falsches Jahr aus (1969?),
    aber bei +5Jahren ist alles einwandfrei
    ...ich brauche aber +50Jahre ab heute..
    Hilfe!
Lädt...
X