将Cookie到期日期设置为准确时间

时间:2013-08-02 14:58:17

标签: php html cookies

我试图让Cookie在准确的时间到期。例如,我希望我的cookie每天中午12点到期。 据我所知,你不会选择一个有效期,但一辈子。 我必须在12 pm-time()或类似的东西做吗?如果是这样,我将如何实现这一目标?

谢谢!

3 个答案:

答案 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>