Ankündigung

Einklappen
Keine Ankündigung bisher.

aktuelle Zeit von Zeitserver

Einklappen

Neue Werbung 2019

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

  • aktuelle Zeit von Zeitserver

    Ich möchte auf meiner PHP Seite die aktuelle Zeit ausgeben, die Zeit soll aber von einem Zeitserver im Internet geholt werden....

    Hat jemand einen Lösungsansatz??

  • #2
    gibt's einen Link zu einem Zeitserver, den du verwenden willst?

    [MAN]curl[/MAN] ( oder [MAN]fsockopen[/MAN] wenn cURL nicht funktionieren sollte ) solltest du dir dabei auf jeden Fall mal ansehen.

    Kommentar


    • #3
      Eine lösung hätte ich. Vllt hilft sie dir weiter.

      PHP-Code:
      <?php 
      $zeitserver 
      "http://www.uni-leipzig.de/cgi-bin/date/index.htm"
      $seite file_get_contents($zeitserver); 
      $teile explode("</h1>",$seite); 
      $seite $teile[1]; 
      $teile explode("<p>",$seite); 
      $seite $teile[0]; 
      // Datum/Uhrzeit isoliert 
      $teile explode(" ",$seite); 
      $tag_name $teile[0]; 
      $mon_name $teile[1]; 
      $tag $teile[2]; 
      $zeit $teile[3]; 
      $zeitzone $teile[4]; 
      $jahr $teile[5]; 

      // Aus dem Monatsnamen möchten wir noch eine Zahl 1-12 berechnen: 
      $monate_array = array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); 
      $monat = (array_search($mon_name,$monate_array))+1

      // Die Uhrzeit zerlegen wir noch in Stunde, Minute und Sekunde 
      $teile explode(":",$zeit); 
      $stunde $teile[0]; 
      $minute $teile[1]; 
      $sekunde $teile[2]; 

      // Nun haben wir alle Einzelteile zusammen, um einen Timestamp zu bauen 
      $zeitstempel mktime($stunde,$minute,$sekunde,$monat,$tag,$jahr); 

      echo 
      $zeitstempel
      ?>
      Hiermit wird eine TimeStamp erzeugt. Kann natürlich auch anders verwendet werden.

      Hoffentlich hilft dir das weiter...

      Kommentar


      • #4
        - KLOTH.NET - Date and time from a time server

        Unter "How to do time server queries". "0.pool.ntp.org" ist ein Server, der bei meinem Test funktioniert hat, habe aber nicht weiter nachgeforscht.

        PS: Das sinnvoll einzusetzen erscheint mir spontan etwas knifflig.

        Kommentar


        • #5
          Eine Synchronisation der Systemuhr sollte auf anderer Ebene stattfinden, nicht im Webserver.. diese Dienstleistung ist NICHT zum Dauer-Pollen gedacht!
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Vielen Dank, werde es ausprobieren!!

            Ich weiß dass das auf anderer Ebene passieren sollte, möchte aber einen Zeitsynchronisations über http realisieren.

            Kommentar


            • #7
              hab es mal mit dieser Funktion probiert.... bekomme aber bei allen Zeitservern "connection refused" zurück
              ob ich nun port 13,37 oder 123 verwende, immer der selbe Fehler.
              PHP-Code:
              <?php 

              function query_time_server ($timeserver$socket) {
              /* Query a time server
                 (C) 1999-09-29, Ralf D. Kloth (QRQ.software) <ralf at qrq.de> */

                
              $fp fsockopen($timeserver,$socket,$err,$errstr,5);
                      
              # parameters: server, socket, error code, error text, timeout
                
              if ($fp) {
                  
              fputs($fp,"\n");
                  
              $timevalue fread($fp,49);
                  
              fclose($fp); # close the connection
                
              }
                else {
                  
              $timevalue " ";
                }

                
              $ret = array();
                
              $ret[] = $timevalue;
                
              $ret[] = $err;     # error code
                
              $ret[] = $errstr;  # error text
                
              return($ret);

              # function query_time_server 
              ?>
              HILFEEEE??!?!

              Kommentar


              • #8
                #3 nicht gesehen?
                [PHP]if ($var != 0) {
                $var = 0;
                }[/PHP]

                Kommentar


                • #9
                  Zitat von gekko Beitrag anzeigen
                  hab es mal mit dieser Funktion probiert.... bekomme aber bei allen Zeitservern "connection refused" zurück
                  ob ich nun port 13,37 oder 123 verwende, immer der selbe Fehler.
                  Welche Server hast du denn ausprobiert?
                  time-b.timefreq.bldrdoc.gov Port 13 funktioniert bei mir tadelos.
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    ich möchte einen externen Server wo ntp läuft verwenden, bekomme aber immer diese Fehler!! connection refused und timed out....

                    Kommentar


                    • #11
                      Welcher server?
                      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                      Kommentar


                      • #12
                        ok dieser funzt bei mir auch.... aber MEIN externet Server wo ntp läuft, nicht....

                        Kommentar


                        • #13
                          Ja und nu? Läuft DEIN Server vielleicht doch nicht (so richtig) hm?

                          Das Rätsel-Raten ist mir aber zu blöd... viel Glück bei der Fehlersuche
                          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                          Kommentar


                          • #14
                            Zeitformat umwandeln

                            gibt es eine Methode wie ich dieses Format "55449 10-09-10 14:04:10 5" in z.b.
                            "d.m.Y H:i:s" umwandeln kann??

                            Die date() Funktion setzt ja immer ein timestamp voraus...

                            Kommentar


                            • #15
                              Obs da jetzt ne tolle Funktion gibt weiß ich nicht, aber explode() und dann mktime() sollte gehen.
                              Signatur:
                              PHP-Code:
                              $s '0048656c6c6f20576f726c64';
                              while(
                              $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

                              Kommentar

                              Lädt...
                              X