cr: zukünftiger unixzeitstempel in "normales datum" umwandeln

hallo,

ich möchte einen unixzeitstempel, der aber noch in der zukunft ist, umwandeln in ein echtes datum.

ich habe im netz nur folgendes gefunden:

date("H:i",hier der unixzeitstempel rein);

leider kommt da der fehler,

date() expects parameter 2 to be long, tring given in ...

wie kann ich so ein datum umwandeln?

danke cr

  1. Wenn da steht: "date() expects parameter 2 to be long, tring given in ...", dann mach das doch bitte auch.

    Statt

    date("H:i", $timestamp);

    schreibst du

    date("H:i", (int) $timestamp);

    Falls das nichts hilft, prüfe bitte mit is_numeric($timestamp) oder (wenn das Problem bleibt) mit

    ( (string) (int) $timestamp ) == $timestamp

    ob es sich auch wirklich um eine Zahl handelt. Dabei ist $timestamp natürlich durch die Variable zu ersetzen, auf der du den Timestamp speicherst.

  2. Hallo cr,

    ich möchte einen unixzeitstempel, der aber noch in der zukunft ist, umwandeln in ein echtes datum.

    http://de.php.net/manual/de/function.date.php

    1. Anmerkung: Das ganze geht nur bis zum "Tue, 19 Jan 2038 03:14:07 GMT".

    Wenn es noch weiter vorne liegt, rechne vorher einfach ein paar Jährchen runter.
    Falls es dir wirklich nur um "H:i" (Stunde+Minute) geht, ist das ja sogar egal. Ansonsten rechnest du eben hinterher die Jahre wieder drauf.

    Gruß,
    Dodwin

    1. echo $begrüßung;

      ich möchte einen unixzeitstempel, der aber noch in der zukunft ist, umwandeln in ein echtes datum.
      http://de.php.net/manual/de/function.date.php

      1. Anmerkung: Das ganze geht nur bis zum "Tue, 19 Jan 2038 03:14:07 GMT".
        Wenn es noch weiter vorne liegt, rechne vorher einfach ein paar Jährchen runter.

      Der Unix-Timestamp-Wert liegt doch schon vor. Nicht die date()-Funktion ist hier das Problem, sondern der Wertebereich eines Unix-Timestamps. Dieser geht bei einem 32-Bit-Integer nur bis zum von dir zitierten Zeitpunkt.

      echo "$verabschiedung $name";

    2. hi,

      Wenn es noch weiter vorne liegt, rechne vorher einfach ein paar Jährchen runter.
      Falls es dir wirklich nur um "H:i" (Stunde+Minute) geht, ist das ja sogar egal.

      Nö, nicht egal - insb. was Stunden:Minuten angeht nicht.

      Mit Sommer-/Winterzeit kommst du da schnell in Bedrängnis - weil deren Anfang/Ende ja schliesslich von Jahr zu Jahr auf einem anderen Datum liegt.

      gruß,
      wahsaga

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

    date() expects parameter 2 to be long, tring given in ...

    Die Fehlermeldung kommt nur, wenn der zweite Parameter (Dein Zeitstempel) nicht numerisch ist. Das muss nicht notwenidgerweise heißen, dass das wirklich vom internen PHP-Typ her eine Zahl sein muss (das ist relativ egal), sondern dass es sinnvoll in eine Zahl konvertierbar sein muss. Das heißt:

    date ('H:i', 1172055234); // funktioniert  
    date ('H:i', "1172055234"); // funktioniert  
    date ('H:i', "blubber"); // spuckt obige Warnung aus
    

    Wenn obige Warnung also kommt, fütterst Du die Funktion also gar nicht mit einem UNIX-Timestamp.

    Viele Grüße,
    Christian

    --
    "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup