2013-07-18 20 views
6

Gibt es eine Möglichkeit, ein Cookie-Erstellungsdatum in einer Variablen zu speichern? Ich benutze das jquery.cookie Plugin. Wenn es keinen Weg gibt, denke ich über das Speichern im Cookie nach, als Wert, die tatsächliche Uhrzeit/Datum. Es könnte eine Lösung sein.So lesen Sie das Cookie-Erstellungsdatum (nicht Ablaufdatum)

Danke.

+1

Können Sie nicht davon ausgehen, dass das Cookie-Ablaufdatum x Zeit nach der festgelegten Zeit ist? Du könntest es einfach bekommen (Ablaufdatum) - (x Zeit)? – Puuskis

+0

@Puuskis, guter Gedanke, aber wie wird die "x-Zeit" bekommen, die in dieser Frage fehlt. Kannst du das bitte kommentieren, wenn du eine Antwort hast? –

+0

@SAM Wenn Sie das Ablaufdatum selbst festlegen, können Sie dieselbe Zeit zur Berechnung verwenden. Wenn beispielsweise alle Cookies 7 Tage später ablaufen, reduzieren Sie nur 7 Tage ab dem Datum. Wenn Sie nicht möchten, dass sie ablaufen, stellen Sie sie in Zukunft so ein, dass es nicht relevant ist, aber Sie können immer noch die Zeit davon abzählen. – Puuskis

Antwort

3
<!-- Output the DateTime that the cookie is set to expire --> 
@Request.Cookies["YourCookie"].Expires.ToString() 

Aber ich glaube nicht, dass es eine Eigenschaft ist das Erstellungsdatum zu bekommen, wenn Sie speziell waren der Wert speichern selbst als zusätzlichen Wert im Cookie selbst:

//Create your cookie 
HttpCookie yourCookie = new HttpCookie("Example"); 
//Add an actual value to the Values collection 
yourCookie.Values.Add("YourValue", "ExampleValue"); 
//Add a Created Value to store the DateTime the Cookie was created 
yourCookie.Values.Add("Created", DateTime.Now.ToString()); 
yourCookie.Expires = DateTime.Now.AddMinutes(30); 

//Add the cookie to the collection 
Request.Cookies.Add(yourCookie); 

auf die Sie in Ihrer Seite zugreifen könnten:

Created : @Request.Cookies["Example"].Values["Created"].ToString() 
Expires : @Request.Cookies["Example"].Expires.ToString() 
5

Sie müssen die Zeit tatsächlich im Cookie selbst speichern. Die Cookie-API des Browsers liefert das Erstellungsdatum nicht als Metadaten.

+0

Danke für die Antwort. Das war wie ich dachte. –