molily: Cookie expire

Beitrag lesen

Hallo,

Ich hab mir gedacht, dass das mit einem cookie, der jeden Tag ausläuft realisierbar ist. Jedoch weis ich nicht genau wie die Syntax dazu aussieht.

http://www.quirksmode.org/js/cookies.html
http://de.selfhtml.org/javascript/objekte/document.htm#cookie

document.cookie = prompt("Ankunftsuhrzeit eingeben. Bitte diese Formatierung einhalten: hh:mm") + "Name=GOHOME; expires=Thu, 30-Mar-2005 20:00:00 GMT";

Cookies sind Name-Wert-Paare: Name=Wert. Zum Beispiel »Uhrzeit=15:30«.
In der einfachen Variante ohne Verfallszeitpunkt wäre das:
document.cookie = "Uhrzeit=15:30";
Zusammen mit prompt-Abfrage:
var ankunft = prompt("Ankunftsuhrzeit eingeben. Bitte diese Formatierung einhalten: hh:mm");
document.cookie = "Uhrzeit=" + ankunft;
Diesen Cookie soll nun am selben Tag um 20 Uhr verfallen. Für den Zusatz »; expires=...« brauchst du das Datum bzw. die Zeit in der genannten Form.
Berechnungen mit Daten und Zeitpunkten kannst du mit dem Date-Objekt durchführen.
var zeitpunkt = new Date(); gibt dir ein Datumsobjekt mit dem heutigen Tag und der aktuellen Uhrzeit zurück. Mit zeitpunkt.setHours(20); zeitpunkt.setMinutes(0); zeitpunkt.setSeconds(0); ändert man die Zeit auf Punkt 20:00 Uhr (lokale Zeitzone). zeitpunkt.toGMTString() sollte dann z.B. »Thu, 31 Mar 2005 18:00:00 GMT« zurückgeben. Die zwei Stunden Unterschied sind die Zeitverschiebung zwischen GMT und MESZ, ich denke, du wolltest 20 Uhr mitteleuropäische Zeit.
Diesen Datums-String bastelst du, ebenso wie die Rückgabe des Eingabefensters, in einen expires-Parameter für den Cookie ein.
var expires = zeitpunkt.toGMTString();
document.cookie = "Uhrzeit=" + ankunft + "; expires=" + expires";
alert(document.cookie);
So sollte es funktionieren.
(In der Zeit zwischen 20 und 24 Uhr verfällt der Cookie natürlich direkt nach dem Setzen, weil das Verfallsdatum in der Vergangenheit liegt.)

Mathias