Antonio: Cookie expire

Hallo,
Ich möchte, dass ein Cookie jeden Tag um 20:00 Uhr ausläuft.

document.cookie = prompt("Zahl eingeben hh:mm") + "Name=GOHOME; expires=Thu, 31-Mar-2004 20:00:00 GMT";

PLZ Help

  1. Hi,

    Ich möchte, dass ein Cookie jeden Tag um 20:00 Uhr ausläuft.

    dann solltest Du in Deiner Definition von "Tag" beachten, dass es auch Zeiten nach 20 Uhr gibt.

    document.cookie = prompt("Zahl eingeben hh:mm") + "Name=GOHOME; expires=Thu, 31-Mar-2004 20:00:00 GMT";

    Interessanter Anfang. Ich würde dem Text noch korrigieren.

    PLZ Help

    Bei welchem Problem?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Bei welchem Problem?

      Cheatah

      Ist eigentlich garnicht so kompliziert zu verstehen.... Ich habe eine HTML Datei die einem ein Countdown anzeigt bis 8 Stunden vergangen sind. Man muss jedoch jedes mal, wenn man die HTML öffnet in einem prompt eingeben, wann man gekommen ist.

      Ich möchte, dass der User die Zeit nur einmal eingeben muss und er am restlichen Tag, wenn er die HTML öffnet nicht mehr nach seiner Ankunftszeit gefragt wird.

      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. Ich bin so weit:

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

      Hoffe das ist dieses mal verständlicher.
      Thx in Advanced

      1. Hi,

        Ist eigentlich garnicht so kompliziert zu verstehen.... Ich habe eine HTML Datei die einem ein Countdown anzeigt bis 8 Stunden vergangen sind. Man muss jedoch jedes mal, wenn man die HTML öffnet in einem prompt eingeben, wann man gekommen ist.

        warum ermittelst Du das nicht direkt? Oder unterscheidet sich die Zeit von der Ankunftszeit auf der Seite?

        Ich möchte, dass der User die Zeit nur einmal eingeben muss und er am restlichen Tag, wenn er die HTML öffnet nicht mehr nach seiner Ankunftszeit gefragt wird.

        Gut.

        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.

        Wo liegt dabei Dein Problem?

        Hoffe das ist dieses mal verständlicher.

        Nein. Du hast ein Ziel beschrieben. Ein Ziel ist aber kein Problem. Ich kann Dir nur helfen, Probleme zu lösen.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      2. 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

    2. Hi,

      PLZ Help
      Bei welchem Problem?

      Er sucht die Postleitzahl des Ortes Help.

      Den gibt es aber laut http://www.postdirekt.de/plz_suche/ nicht, nur
      31691   Helpsen
      17349   Helpt
      (und noch ne Handvoll von Orten, die zwar mit Help anfangen, inzwischen aber wohl anders heißen oder eingemeindet wurden) :-)

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.