0

我试图让 cookie 在准确的时间过期。例如,我希望我的 cookie 在每天中午 12:00 过期。据我了解,您不选择到期日期,而是选择终身。我必须做 12pm-time() 或类似的事情吗?如果是这样,我将如何实现这一目标?

谢谢!

4

3 回答 3

2

您可以轻松地strtotime在您的情况下使用。

$expire = strtotime('today 12pm');
if (time() > $expire) {
    $expire = strtotime('tomorrow 12pm');
}
setcookie('foobar', '1', $expire);
于 2013-08-02T15:05:03.117 回答
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() 默认情况下。

于 2013-08-02T15:03:42.297 回答
0

在 PHP 中,time()帮助您获取当前时间,然后设置相对于该时间的日期。

Cookie 将单个时间点作为到期日期,因此如果您希望它是 12:00 pm,只需将其设置为这样,而不考虑您不关心的当前时间。

于 2013-08-02T15:03:39.827 回答