Datumfunktion: zweite Zeitzone - wie implementiere ich eine Funktion?

  • Hallo!

    Ich möchte in meiner Sidebar die Zeiten aus zwei verschiedenen Zeitzonen anzeigen. Nun habe ich mich hier durch das Forum gewühlt und bin auch tatsächlich auf folgende Funktion gestoßen:

    PHP
    function usatime(){ 
        $stunde = (get_the_time('H') - 6); 
        if ($stunde >= 24){ 
            $stunde = $stunde-24; 
        } 
        $minute = get_the_time('i'); 
        $var = $stunde.":".$minute; 
        return $var; 
    }

    Nun habe ich tausend Dinge ausprobiert und einige werden wahrscheinlich gucken wie ein Auto. Aber ich halte es mit der Sesamstraße und Frage: wie muss ich diese doofe Funktion nutzen, um auch Nutzen von ihr zu haben? Wo muss ich sie unterbringen? Wie bekomme ich die Zeit dann ausgegeben/angezeigt?

    Dankeschön für Eure Hilfe!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Widget

    Danke für die erste Hilfe.

    Wenn ich mir so ein Widget installiere, ist es denn dann auch möglich, ganz normal in die PHP-Dateien einen Ruf/Befehl(?) (wie nennt man das eigentlich?) hinein zu schreiben, um die Zeit angezeigt zu bekommen? So wie beispielsweise

    PHP
    <?php the_date(); ?>

    Ich möchte nur ungerne die Maske in Wordpress benutzen...

  • Zitat

    Wenn ich mir so ein Widget installiere, ist es denn dann auch möglich, ganz normal in die PHP-Dateien einen Ruf/Befehl(?) (wie nennt man das eigentlich?)

    Funktionsaufruf. ;-)


    Zitat

    hinein zu schreiben, um die Zeit angezeigt zu bekommen?

    Kommt drauf an. Was ein Widget im WP-Sinn ist, weißt Du? Das fügst Du einfach im Backend der Sidebar hinzu und kannst dann vermutlich für das Widget einstellen, welche Zeit es anzeigen soll. Da brauchst Du dann gar kein PHP. Wenn Du das gleiche noch an anderer Stelle im Theme brauchst, kann man ggf. sicher auch manuell die Funktionen des Widgets aufrufen, aber gedacht ist es dafür nicht.

  • Was ein Widget ist, weiß ich. Ich würde es nur nicht so gerne über das Backend machen sondern es über einen Funktionsaufruf bevorzugen (auch wenn das so nicht gedacht ist:wink:).

    Zitat

    Wenn Du das gleiche noch an anderer Stelle im Theme brauchst, kann man ggf. sicher auch manuell die Funktionen des Widgets aufrufen, aber gedacht ist es dafür nicht.

    Wie geht das? Wo finde ich die Funktionen des Widgets?

  • Ach so, wenn Du das nicht übers Backend machen willst, sind wir ja wieder bei meiner ersten Antwort. Dann kannst Du genauso gut auch Deine eigene Funktion nehmen und in ein eigenes Widget gießen. Oder sie direkt in die sidebar.php einbauen, falls Du keine Widgets verwendest oder falls die Ausgabe ganz oben oder ganz unten oder sowieso ganz woanders stehen soll.

    Tutorial zu eigenem Widget schreiben:
    http://justintadlock.com/archives/2009/…in-wordpress-28
    http://wpengineer.com/wordpress-built-a-widget/

    Falls Du schauen willst, wie ein fremdes Widget das löst, schau halt in den Quelltext des Widgets. Der sollte halbwegs überschaubar sein.

  • Womit ich bei meiner Ausgangsfrage wäre ;-):

    Zitat

    Oder sie direkt in die sidebar.php einbauen, falls Du keine Widgets verwendest oder falls die Ausgabe ganz oben oder ganz unten oder sowieso ganz woanders stehen soll.

    Wie baue ich die Funkion direkt in die Sidebar ein??? Schriebe ich den Funktionstext einfach so, wie ich ihn angegeben habe, an die Stelle, wo ich es haben möchte? Das funktioniert nämlich irgendwie so nicht...

  • Also so ganz die Grundlagen von PHP müsstest Du schon kennen, wenn Du am Theme was ändern willst. ;-) Die obige Funktion kannst Du so wie sie da zitiert ist definieren wo Du möchtest, aber sinnvollerweise in der functions.php des Themes. Aufrufen tust Du die Funktion innerhalb eines PHP-Blocks so:

    PHP
    print usatime();

    Oder im normalen HTML so:

    PHP
    <?php print usatime(); ?>
  • Ja, Grundlagen, das ist so eine Sache....."trial and error" passt besser ;) Aber ich habe es dennoch hinbekommen, und zwar so:

    PHP
    <?php    $zone = time()-21600; // negativer oder positiver Wert in Sekunden
    $datum = date("D, d. F Y", $zone);
    $zeit = date("H:i", $zone);
    echo "New York City: ".$datum.", ".$zeit." Uhr";?>

    Wenn ich mir das so anschaue, eigentlich auch ganz simpel ;)

    Danke für die Hilfe, schöne Woche noch!

  • Ja, so geht es auch. So ist es jetzt halt keine wiederverwendbare Funktion. Die Zeitausgabe stimmt übrigens nur, wenn die USA und Deutschland immer gleichzeitig von Sommer- zu Winterzeit und zurück ändern. Bin nicht sicher, ob das gegeben ist. Leider gibt es in PHP keinen einfachen Weg, sowas eleganter zu handhaben. In Java hätte ich Dir sonst was Besseres vorgeschlagen. :-/

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!