evi*_*iko 1 php cookies unix-timestamp year2038
目前我正在将我所有的PHP unix时间戳转换为2k38以上的问题.
我注意到setcookie() expire date参数使用unix时间戳.有没有办法用替代方法设置过期日期,也许以某种方式使用DateTime类?
从有关过期日期的PHP文档:
注意:您可能会注意到expire参数采用Unix时间戳,而不是日期格式Wdy,DD-Mon-YYYY HH:MM:SS GMT,这是因为PHP在内部执行此转换.
您无法更改功能签名.好吧,至少没有摆弄奇怪的PHP扩展.但由于cookie规范根本不使用Unix时间戳,您只需编写自己的函数并header()手动调用:
Set-Cookie: lang=en-US; Expires=Wed, 09 Jun 2099 10:18:14 GMT
Set-Cookie: lang=en-US; Max-Age=8640000
Run Code Online (Sandbox Code Playgroud)
...并希望浏览器能够处理日期:
如果到期时间晚于用户代理可以表示的最后日期,则用户代理可以将到期时间替换为最后可表示的日期.
或者你可以简单地使用seecookie().据我所知,它只是一些32位版本的PHP中的一个问题.