乐闻世界logo
搜索文章和话题

Which date formats can I use when specifying the expiry date when setting a cookie?

4 个月前提问
4 个月前修改
浏览次数14

1个答案

1

在设置cookie的过期时间时,通常需要使用特定的日期格式来确保浏览器能正确解析和存储这些信息。一般来说,最常用的日期格式是GMT(格林尼治标准时间)或者UTC(协调世界时)格式。这种格式通常被称为HTTP-date 格式,定义在RFC 7231和RFC 5322中。

具体来说,日期格式应遵循以下标准:

  • 完整的日期时间: Wdy, DD Mon YYYY HH:MM:SS GMT

这里的各部分含义如下:

  • Wdy 是星期几(例如:Mon, Tue, Wed, Thu, Fri, Sat, Sun)
  • DD 是一月中的日子(两位数,例如:01, 15, 30)
  • Mon 是月份(例如:Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
  • YYYY 是年份(例如:1995, 2020, 2023)
  • HH:MM:SS 是时间(小时:分钟:秒)
  • GMT 指定了时间应该是格林尼治时间。

例如,如果我们想设置一个cookie并让它在2023年12月25日午夜到期,我们可以设置cookie的Expires属性如下:

http
Set-Cookie: name=value; Expires=Mon, 25 Dec 2023 00:00:00 GMT

使用这种格式可以确保各种浏览器和客户端软件能够正确地解析cookie的到期时间。在实际开发中,通常可以使用各种编程语言提供的日期时间函数来生成符合这一格式的日期字符串。例如,在JavaScript中,可以用toUTCString()方法来获取符合规范的GMT格式字符串:

javascript
var date = new Date('December 25, 2023 00:00:00'); var cookieValue = 'name=value; Expires=' + date.toUTCString();

这样可以确保设置的cookie具有正确格式的到期日期,从而在预定时间后失效。

2024年8月12日 11:31 回复

你的答案