Ankündigung

Einklappen
Keine Ankündigung bisher.

Timestamp aus XML mittels date() ausgeben

Einklappen

Neue Werbung 2019

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

  • Timestamp aus XML mittels date() ausgeben

    Hallo liebe PHP Profis.

    Ich stehe vor einem Problem und suche schon seit Stunden nach einer passenden Lösung. Leider bislang ohne Erfolg

    Ich hole mir mittels
    PHP-Code:
    simplexml_load_file 
    einen Timestamp aus einer XML Datei.

    PHP-Code:
    $url Pfad_zur_XML;
    $niceurl urlencode($url);
    $data simplexml_load_file($niceurl);
    $mytimestamp $data->EVENT->TIMESTAMP
    Wenn ich mir diesen Timestamp mittels
    PHP-Code:
    echo $mytimestamp
    ausgeben lasse,
    bekomme ich einen Unix Timestamp zurück (Zumindest sieht es für mich danach aus - vielleicht liege ich hier schon falsch).
    PHP-Code:
    1483038532 
    Nun möchte ich diesen Timestamp mit Hilfe von
    PHP-Code:
    date() 
    in eine Realzeit wandeln (20:09)

    Dazu verwende ich
    PHP-Code:
    echo date('H:i',$mytimestamp); 
    und erhalte als Ergebnis nur eine weiße Seite.

    Ich bin um jeden Denkanstoss froh, den ich bekommen kann.
    Vielleicht sehe ich nur den Wald vor lauter Bäumen nicht.

    PHP-Code:
    error_reporting(E_ALL); 
    ist aktiviert, bringt allerdings keine Ausgabe.

    Viele Grüße,
    Pinball

  • #2
    PHP-Code:
    $mytimestamp='1483038532';
    echo 
    date('H:i',$mytimestamp); 
    funktioniert das bei dir, wenn du das alleine ausführst?

    Wir brauchen mehr Code um zu verstehen was du nicht richtig machst.

    Kommentar


    • #3
      Oh, tut mir leid, das habe ich vergessen hinzuzufügen. Der "von Hand" eingegebene Weg, den Du beschreibst funktioniert, ja.

      Hier mal der komplette Code:

      PHP-Code:
      $url Pfad_zur_XML;
      $niceurl urlencode($url);
      $data simplexml_load_file($niceurl);
      $mytimestamp $data->EVENT->TIMESTAMP;

      echo 
      'Uhrzeit der Änderung: ' date("H:i",$mytimestamp) . ' Uhr'
      Mehr ist es eigentlich nicht. Ich will mir nur die Zeit der letzten Änderung ausgeben lassen.

      Kommentar


      • #4
        $mytimestamp enthält nicht das, was du denkst. Lass es dir doch mal mit var_dump() ausgeben.

        Und das ist kompletter Quatsch:
        PHP-Code:
        $niceurl urlencode($url); 

        Kommentar


        • #5
          PHP-Code:
          $niceurl urlencode($url); 
          ist dabei, da die XML auf einem entfernten Server liegt. Ohne geht es nicht. Hätte oben eigenlich auch URL_zur_XML heißen sollen. Mea culpa.

          PHP-Code:
          $mytimestamp 
          enthält laut Ausgabe mit var_dump() "1483038532"

          Ich habe aber gerade eine funktionierende Variante gefunden.
          Statt die XML direkt zu verarbeiten, übergebe ich diese mittels Json in ein Array und verarbeite das weiter.
          Dadurch erhalte ich dann die gewünschte Ausgabe.

          PHP-Code:
          $url URL_zur_XML;
          $niceurl urlencode($url);
          $xml simplexml_load_file($niceurl);
          $json json_encode($xml);
          $data json_decode($jsonTRUE);
          $mytimestamp $data["EVENT"]["TIMESTAMP"];

          echo 
          'Uhrzeit der Änderung: ' date("H:i",$mytimestamp) . ' Uhr'
          Vielen Dank für die Hilfestellung

          Kommentar


          • #6
            Zitat von Pinball Beitrag anzeigen
            PHP-Code:
            $mytimestamp 
            enthält laut Ausgabe mit var_dump() "1483038532"
            Mit dem Code von oben defintiv nicht. Das ist ein simplexmlelement (was auch mit var_dump ersichtlich ist!) und daran verschluckt sich date(). Du musst sicherstellen das du den Wert des Elements benutzt und nicht das Element ansich. Da simplexmlelement __toString() implementiert geht das mit: date("H:i",(string)$mytimestamp); und erklärt auch warum mit echo 1483038532 ausgegeben wird.

            Kommentar


            • #7
              Zitat von Pinball Beitrag anzeigen
              PHP-Code:
              $niceurl urlencode($url); 
              ist dabei, da die XML auf einem entfernten Server liegt. Ohne geht es nicht. Hätte oben eigenlich auch URL_zur_XML heißen sollen. Mea culpa.
              Ist auch vollkommener Quatsch. Mit urlencode() verstümmelst du die URL.

              Zitat von Pinball Beitrag anzeigen
              PHP-Code:
              $mytimestamp 
              enthält laut Ausgabe mit var_dump() "1483038532"
              Zeig bitte die tatsächliche Ausgabe von var_dump().

              Kommentar

              Lädt...
              X