2011-01-07 33 views
8

Tôi đã làm điều này:Làm thế nào để hết hạn Cookie bằng Jquery lúc nửa đêm?

$.cookie("ultOS", (i), {expires:1}); 

Nhưng nó sẽ chỉ hết hạn vào ngày hôm sau.

Tôi làm cách nào để hết hạn cookie vào nửa đêm?

Công việc này có thay thế không?

var date = new Date(); 
var midnight = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59); 
$.cookie("ultOS", (i), {expires: midnight}); 
+0

này là rất thông minh! Tôi sẽ sử dụng date.getDate() + 1 giống như đã được trả lời dưới đây nhưng đã được quan tâm vì cuối tháng. Nửa đêm của bạn là nửa đêm hoàn hảo! –

Trả lời

9

Tôi nghĩ rằng điều này sẽ làm việc:

var currentDate = new Date(); 
expirationDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()+1, 0, 0, 0); 
$.cookie("ultOS", "5", {expires: expirationDate}); 
+0

Tôi đang chỉnh sửa yêu cầu khi bạn trả lời. Thks – Thiago

3

Theo phiên bản mới nhất của plugin ths cookie (giả định này là một trong những bạn đang sử dụng: http://plugins.jquery.com/project/Cookie), bạn có thể vượt qua một đối tượng ngày bình thường trong

Tôi đã không thử nó,. nhưng nguồn của plugin khá đơn giản ....

if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { 
      var date; 
      if (typeof options.expires == 'number') { 
       date = new Date(); 
       date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); 
      } else { 
       date = options.expires; 
      } 
      expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE 
     } 

Nếu bạn nhập số, giả sử đó là số ngày. Nếu bạn vượt qua trong một ngày, nó mất điều đó.

0

Bạn có thể tạo một javascript ngày đối tượng với giá trị tonights (nửa đêm), sau đó đặt hết như sau:

$.cookie("example", "foo", { expires: date }); 

đâu ngày là đối tượng ngày.

1
var date = new Date(); 
var midnight = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59); 
var expires = "expires="+midnight.toGMTString(); 
Các vấn đề liên quan