我试图让Cookie在准确的时间到期。例如,我希望我的cookie每天中午12点到期。 据我所知,你不会选择一个有效期,但一辈子。 我必须在12 pm-time()或类似的东西做吗?如果是这样,我将如何实现这一目标?
谢谢!
答案 0 :(得分:2)
您可以在案例中轻松使用strtotime
。
$expire = strtotime('today 12pm');
if (time() > $expire) {
$expire = strtotime('tomorrow 12pm');
}
setcookie('foobar', '1', $expire);
答案 1 :(得分:1)
您必须为Cookie生命周期提供时间戳,因此您需要找到下一个中午的时间戳。
$noon = strtotime('noon', time());
if($noon<=time())// Already past, get tomorrow
$noon = strtotime('Tomorrow noon', time());
setCookie("my_cookie","my_cookie_value",$noon);
编辑:请注意,strtotime中的第二个参数是多余的,因为它默认为time()。
答案 2 :(得分:0)
在PHP中,time()
可帮助您获取当前时间,然后设置相对于该时间的日期。
Cookie会将一个时间点作为到期日期,因此如果您希望它在中午12:00之前,请将其设置为这样,而不考虑您不关心的当前时间。< / p>