今天05/18/2011 如果我做
echo date("H:i m/d/Y", strtotime("tomorrow"));
我得到00:00 05/19/2011应该是,但如果我在setcookie中使用相同的功能,如:
setcookie("wls_yesterday_review", 'completed', strtotime('tomorrow'),'/','myhost.com');
我的Cookie将于2011年5月18日晚上9点到期
我不确定我做错了什么,但我测试了不同的方式和不同的时间,我总是得到相同的结果
我想在第二天00:00过期cookie。如果今天是05/18上午10:00,我希望它在05/19 00:00到期
谢谢你们
答案 0 :(得分:3)
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600*24); /* expire in 1 day */
答案 1 :(得分:1)
strtotime()函数在成功时返回时间戳,但在setcookie()函数中需要一个数值,可能是一个整数。您应该计算到今天结束的秒数并将其添加到time()+3600*24
(time()+3600*24)+(mktime(24,0,0)-time());
其中mktime(24,0,0)-time()
是到达当天结束的秒数。
setcookie("TestCookie", $value, (time()+3600*24)+(mktime(24,0,0)-time()));
希望这有帮助。