我正在设置一个带有到期时间的cookie
mktime(24,0,0).
我的问题很简单。如果浏览器时区不同,cookie会跟随服务器的时区到期还是浏览器的时区?
答案 0 :(得分:1)
Set-Cookie
标头将时区信息作为过期日期时间的一部分,因此用户代理知道它何时到期。
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT
<强>到期强>
...
注意:您可能会注意到expire参数采用Unix时间戳, 而不是日期格式Wdy,DD-Mon-YYYY HH:MM:SS GMT,这是 因为PHP在内部进行了这种转换。
答案 1 :(得分:1)
来自PHP manual, mktime 功能:
返回与给定参数对应的Unix时间戳。这个 timestamp是一个长整数,包含秒数 Unix Epoch(1970年1月1日00:00:00 GMT)和指定的时间。
它包含许多秒,一定的时间:没有必要关心时区。
答案 2 :(得分:0)
mktime(24,0,0)
根据您正在运行的timezone()服务器计算机计算第二天00:00:00的unix时间戳,并返回整数时间戳。
现在,当你通过了
setcookie(Visit, date("F jS - g:i a"), mktime(24,0,0));
在浏览器上,它将此“自纪元以来的时间戳”转换为本地时区,并设置cookie的到期时间。
你应该知道我们在这里仍然根据服务器端的时间框架控制cookie的生命周期。