首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储在客户端的cookie的时区是多少?

问存储在客户端的cookie的时区是多少?
EN

Stack Overflow用户
提问于 2012-04-19 20:58:26
回答 4查看 9.8K关注 0票数 10

我需要使用PHP setcookie函数设置1小时后过期的cookie。我的服务器上的时区设置为GMT。我应该如何设置cookie过期日期,以使其跨不同客户端的浏览器时区工作?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-19 21:07:47

据我所知,客户端时间是多少并不重要。PHP根据unix时间码设置过期时间。这段时间内的任何变化都应该由服务器负责。

下面是setcookie()的PHP manual摘录:

过期时间:

cookie过期的时间。这是一个Unix时间戳,因此是自纪元以来的秒数。换句话说,您最有可能使用time()函数加上您希望它过期前的秒数来设置它。或者,您可以使用mktime()。time()+60*60*24*30会将cookie设置为30天后过期。如果设置为0或忽略,cookie将在会话结束时(浏览器关闭时)过期。

票数 9
EN

Stack Overflow用户

发布于 2012-04-19 23:59:10

PHP的setcookie()函数接受与Unix时间戳值对应的整数。如果您的cookie应该有1小时的生存时间,那么您可以使用time() + 3600作为该值。然后,PHP将创建一个带有过期时间的cookie,如"expires=Fri,Aug 3Aug 2001 20:47:11UTC“。它采用UTC (GMT)格式,因此您不必担心客户端浏览器的时区

票数 5
EN

Stack Overflow用户

发布于 2012-04-19 21:02:43

你可以尝试使用getTimeZone和setTimeZone来看看here

此外,strtotime似乎可以很好地检索正确的日期时间格式,然后您可以使用gmdate来转换它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10228608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档