我试图让 cookie 在准确的时间过期。例如,我希望我的 cookie 在每天中午 12:00 过期。据我了解,您不选择到期日期,而是选择终身。我必须做 12pm-time() 或类似的事情吗?如果是这样,我将如何实现这一目标?
谢谢!
您可以轻松地strtotime
在您的情况下使用。
$expire = strtotime('today 12pm');
if (time() > $expire) {
$expire = strtotime('tomorrow 12pm');
}
setcookie('foobar', '1', $expire);
您必须为 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() 默认情况下。
在 PHP 中,time()
帮助您获取当前时间,然后设置相对于该时间的日期。
Cookie 将单个时间点作为到期日期,因此如果您希望它是 12:00 pm,只需将其设置为这样,而不考虑您不关心的当前时间。