Frage von yankor, 63

JavaScript, die je nach Datum und Zeit bestimmten Inhalt lädt?

Hallo,

ich suche nach einer Lösung, um auf meiner Webseite einen bestimmten Inhalt je nach Datum und Uhrzeit anzeigen!

Beispiel: Festgelegte Uhrzeit: 24.Dezember 2016, 18:00 Uhr

Vor dieser Zeit soll folgendes angezeigt werden: ABCD

Nach dieser Zeit soll dort WXYZ angezeigt werden

ist das möglich, und wenn ja wie?

Danke im Voraus

Antwort
von PattuXD, 12
    var d = new Date();
var n = d.getTime();

Das speichert in n die Millisekunden seit dem 1.1.1970.
http://www.epochconverter.com/
rechnet dir das dann freundlicherweise um und du kannst dann mit if(n < ...){...} machen, was du willst.

Die Funktion nimmt allerdings die Zeit des PCs auf dem sie ausgeführt wird. Das sollte normalerweise kein Problem darstellen, da das ab Win7 oder 8 automatisch eingestellt wird, kann aber natürlich sehr leicht mutwillig umgangen werden.

Wenn du das automatisch machen willst (also ohne neu laden der Seite) kannst du den Code oben + dein if Zeug in eine Funktion packen (z.B. update()) und diese dann mit setInterval(update, 1000) alle 1000ms = 1s (oder wie oft du willst) automatisch ausführen lassen.

Antwort
von RedKungFuMastr, 39

Javascript ist manipulierbar, da musst du schon php nutzen.

Die Methode

date( 'Y:m:d H:i:s' );

Erzeugt in php folgende Ausgabe, wenn man vom heutigen Datum 20 Uhr ausgeht:

2015:12:26 20:00:00

Jetzt bräuchtest du nur eine Fallunterscheidung, Templates für deinen Inhalt und dann hättest du deine gewünschte Lösung...

Kommentar von yankor ,

Danke, aber angenommen jemand ruft die Seite um 17:50 Uhr auf soll es trotzdem, ohne, dass die Seite neu geladen wird automatisch geändert werden!

Kommentar von RedKungFuMastr ,

Deswegen die Fallunterscheidung und das Template. Du hast nehmen wir an 2 Templates. Eines Für den Inhalt vor dem Datum, eines mit dem Inhalt ab dem Datum.

Falls der Fall zutrifft, an dem das Datum und die Uhrzeit überschritten werden (Methode in eine Variable packen, dann in eine Zahl umwandeln -> (int) $var <= das gleiche wie parseInt(var) in Javascript), dann kannst du das Template wechseln.

Kommentar von yankor ,

achso, hatte nämlich jetzt gedacht, dass ich es nur mit PHP umsetzen müsse, aber PHP wird ja Serverseitig ausgeführt ^^

Kommentar von RedKungFuMastr ,

Ja, php ist serverseitig :D

Ajax ist die Schnittstelle zum Server, damit die Seite nicht neugeladen werden muss sondern nur der Inhalt.

Kommentar von RedKungFuMastr ,

Ohne neuzuladen, ok, dann must du halt ajax mitbenutzen. Über Javascript kannst du einen PHP-Script ausführen, der dir dann sagt, ob der Fall zugetroffen ist, oder nicht. Ist der Fall zugetroffen, sendet dir das PHP-Script das Template mit dem Inhalt ab dem Datum.

Damit gecheckt wird, ob die aktuell geladene Seite gerdade im Zeitstempel ist, musst du setInterval nutzen für dein AJAX-Request. Am besten so alle 5 bis 10 Sekunden... Traffic ist wertvoll :P

Kommentar von yankor ,

Ajax? Mal gehört aber kein Plan was das genau ist oder wie das funktioniert :D

Kommentar von RedKungFuMastr ,

Lad dir jQuery runter, damit gehts am einfachsten. Da hast du die Methoden .ajax, .get und .post

Am besten für den Anfang wählst du .ajax ^^, ansonsten ist die Dokumentation von jQuery sehr ordentlich.

Falls du nicht weiterkommst, hier eine Seite, die das etwas praktischer erklärt:

http://www.w3schools.com/jquery/ajax\_ajax.asp

Keine passende Antwort gefunden?

Fragen Sie die Community