Study-Board.de
  1. Suche
  2. Startseite
    1. Deals
      1. Social Deals
      2. Amazon Deals
      3. Prime Angebote
  3. Forum
    1. Dashboard
    2. Unerledigte Themen
    3. Datenbanken
    4. Gamification
    5. Umfragen
  4. Tippspiel
    1. Rangliste
    2. Tippgemeinschaften
    3. Tipper-Übersicht
    4. Meine Statistik
    5. Hall of Fame
    6. WM-Wertung
  5. Semantische Suche
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Artikel
  • Seiten
  • Termine
  • Galerie
  • wcf.search.type.de.flexiblelist.wsc.entry
  • wcf.search.type.com.amp.advancedpoll.search
  • Erweiterte Suche
  1. Study-Board.de
  2. Forum
  3. Leben, Familie & Technik
  4. Tools & Produktivität - iT-Talk

atomzeit & php ??

  • SoulCut
  • 16. August 2002 um 16:46
1. offizieller Beitrag
  • SoulCut
    Erfahrener Benutzer
    Beiträge
    190
    • 16. August 2002 um 16:46
    • #1

    ist es möglich, sich die atomzeit per php anzeigen zu lassen? per "webseiten-anzapfing" oder ähnlichem?

    und wie sieht das mit "meiner" uhrzeit aus? nicht der lokalen; ist ja dann die des servers...

    hab mir schon nen wolf gesucht....

    gruß, SoulCut

  • reima
    Benutzer
    Beiträge
    75
    • 16. August 2002 um 18:07
    • #2
    Zitat

    ist es möglich, sich die atomzeit per php anzeigen zu lassen? per "webseiten-anzapfing" oder ähnlichem?


    Das kann eigentlich gar nicht so schwer sein. Immerhin gibt es extra für solche Fälle ein "Network Time Protocol" (NTP). Damit kann man dann die Zeit von einem Zeitserver, der wiederum mit einer Atomuhr verbunden ist, abfragen.

    Ich werd mich mal kurz hinsetzen und schaun, wie sich das implementieren lässt.

    Zitat

    und wie sieht das mit "meiner" uhrzeit aus? nicht der lokalen; ist ja dann die des servers...


    Wie meinst du das? Dass auch die richtige Zeitzone angezeigt wird? Das hängt dann ganz vom jeweiligen Zeitserver ab, von dem du dir die Daten holst. Oder meinst du was anderes?


    Regards,
    reima

  • SoulCut
    Erfahrener Benutzer
    Beiträge
    190
    • 17. August 2002 um 01:59
    • #3

    zu dem ntp hab ich nur ein pearl-script gefunden....wusste dann nicht weiter...
    und vielen dank, mach dir aber keine großen mühen! ein paar tipps reichen auch :)

    zu "meiner" uhrzeit:
    wenn ich die normalen date-funktionen von php benutze, bekomme ich immer nur die uhrzeit des webservers zurückgeliefert...ist ja auch richtig so. aber ich hätte halt gerne noch die uhrzeit angezeigt, die ich auf meinem pc habe...

    ist aber alles nur ein bisschen spielerei, nichts wichtiges. hat mich aber genervt ;)

    gruß, SoulCut

  • reima
    Benutzer
    Beiträge
    75
    • 17. August 2002 um 05:22
    • #4

    So, nach endlosen Recherchen (tausend Seiten mit Abhandlungen über die serverseitige Implementierung von NTP, aber nur ein paar wenige über Clients :(), herumärgern mit UDP und feof(), und zum Schluss jetzt auch noch mit den internen Datentypen von PHP, hab ich's endlich mal ein erstes Ergebnis vorzuweisen:

    PHP
    // UDP-Verbindung zum Zeitserver vorbereiten
    $sock = fsockopen(\"udp://ptbtime2.ptb.de\", 123, &$errno, &$error);
    
    
    // Error checking
    if (!$sock) {
     echo \"Error #\".$errno.\" :\".$error;
     exit();
    }
    
    
    // Request vorbereiten
    $request = chr(11).str_repeat(chr(0), 47);
    // Abschicken
    fwrite($sock, $request);
    // Antwort einlesen
    for ($x=0; $x<48; $x++) {
     $answer .= fgetc($sock);
    }
    // Socket schließen
    fclose($sock);
    
    
    // In integer umwandeln (hier muss man allerdings auf einen 64-bit float zurückgreifen, da es bei php nur unsigned 32-bit ints gibt :()
    $time = (float)
    (ord($answer[40])*16777216 +
     ord($answer[41])*65536 +
     ord($answer[42])*256 +
     ord($answer[43]));
    
    
    // Vom NTP-Format in's Unix-Format konvertieren
    $time -= 2208988800;
    
    
    // Ausgabe
    echo \"<b>\".date(\"d.m.Y H:i:s\", $time).\"</b>\";
    Alles anzeigen


    Bah. Hat lang gedauert, aber ich hab's. Ehrgeiz muss man halt haben :]

    Wegen der lokalen Uhrzeit: Da musst du auf JavaScript zurückgreifen. Hab aber jetzt momentan nicht den Nerv, da noch was zusammenzuklopfen ;)

    Nacht...
    reima


    edit: Wenn man die Kommentare im PHP-Code liest, kriegt man Augenkrebs...

  • Cort
    Erfahrener Benutzer
    Beiträge
    424
    • 17. August 2002 um 09:23
    • #5

    Hi!
    Hier mal ein kleines Script zum anzeigen der lokalen Zeit unter JavaScript:

    Code
    <script language=\"javascript\">
      function LoadClock()
      {
        Zeit = new Date();
        std = Zeit.getHours();
        min = Zeit.getMinutes();
        sek = Zeit.getSeconds();
        tag = Zeit.getDate();
        mon = Zeit.getMonth() + 1;
        jah = Zeit.getYear();
    
       if (std < 10) std = '0' + std
       if (min < 10) min = '0' + min
       if (sek < 10) sek = '0' + sek
       if (tag < 10) tag = '0' + tag
       if (mon < 10) mon = '0' + mon
    
       Zeit = tag + '.' + mon + '.' + jah + ' - ' + std + ':' + min + ':' + sek + ' ';
    
       document.frmClock.Clock.value= Zeit
    
       setTimeout(\"LoadClock()\",1000);
    			}
    </script>
    Alles anzeigen
    Code
    <body onLoad=\"javascript:LoadClock();\">

    Wenn Du in deiner HTML-Seite jetzt noch ein Formular und eine Textbox einbaust, dann hast du eine Uhr, die sich jede Sekunde von selbst aktuallisiert.

    Greetings, Cort

  • SoulCut
    Erfahrener Benutzer
    Beiträge
    190
    • 17. August 2002 um 12:08
    • #6

    mein gott, vielen dank!! :)
    ist wohl doch ein ganz schöner krampf.... ;)

    das dauert erst mal ein wenig, bis ich da durchgestiegen bin. werds montag gleich mal ausprobieren :)

    THX

  • Jens
    Admin
    Reaktionen
    1
    Trophäen
    1
    Beiträge
    4.435
    • 17. August 2002 um 19:06
    • Offizieller Beitrag
    • #7

    Funktioniert ;)

    http://study-talk.de/atom.php

    MfG

    Jens

    Wie man Fragen richtig stellt!


    https://www.dealfuchs.info/ - Deal Fuchs findet für dich die besten Angebote und Schnäppchen im Internet. Täglich neue Deals aus allen Kategorien. Wir durchsuchen das Internet nach den besten Preisen und Rabatten, damit du garantiert kein Schnäppchen verpasst.

  • Cort
    Erfahrener Benutzer
    Beiträge
    424
    • 17. August 2002 um 20:27
    • #8

    Das ganze geht auch unter ASP
    zu sehen unter:
    http://cmonline.dyndns.org/atom.asp

    Den Quellcode gibts hier:
    http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=7518&lngWId=4

    Greetings, Cort

  • SoulCut
    Erfahrener Benutzer
    Beiträge
    190
    • 19. August 2002 um 10:04
    • #9

    mist....

    unsere firewall sperrt wohl den udp-port.....

    Zitat

    Error #0 :

    das wird ausgegeben...

    und wenn ich dies hier richtig deute

    Zitat

    // UDP-Verbindung zum Zeitserver vorbereiten
    $sock = fsockopen("udp://ptbtime2.ptb.de", 123, &$errno, &$error);

    // Error checking
    if (!$sock) {
    echo "Error #".$errno." :".$error;
    exit();
    }

    wird das wohl auch so sein, ne?

    gruß, SoulCut

  1. Tutor Lv. 5 4.304 XP
  2. admin Lv. 2 150 XP
  3. cklawitter Lv. 1 30 XP
  4. 4
    sieger81 Lv. 1 10 XP
Vollständige Bestenliste

Benutzer online in diesem Thema

  • 1 Besucher
  1. Dealfuchs.info
  2. Impressum
    1. Datenschutzerklärung
    2. Verhaltenskodex
      1. Learn to Post
  3. Mediadaten
  4. Study-Talk.de - Rabatte nicht nur für Studenten
  5. Kontakt
Community-Software: WoltLab Suite™