3

今日05/18/2011もし私がそうするなら

echo date("H:i m/d/Y", strtotime("tomorrow"));

あるべき2011年5月19日00:00を取得しますが、setcookieで同じ関数を使用すると次のようになります。

setcookie("wls_yesterday_review", 'completed', strtotime('tomorrow'),'/','myhost.com');

私のCookieは2011年5月18日の午後9時に期限切れになります

何が間違っているのかわかりませんが、さまざまな方法と時間をテストしましたが、常に同じ結果が得られます

翌日の00:00にCookieを期限切れにしたい。今日が05/1810:00amの場合、05/1900:00に期限切れにします

みんなありがとう

4

2 に答える 2

3
setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600*24);  /* expire in 1 day */

http://php.net/manual/en/function.setcookie.php

于 2011-05-18T13:26:05.137 に答える
1

strtotime()関数は成功時にタイムスタンプを返しますが、setcookie()関数には数値(整数など)が必要です。今日の終わりまでの秒数を計算して、に追加する必要がありますtime()+3600*24

(time()+3600*24)+(mktime(24,0,0)-time());

ここmktime(24,0,0)-time()で、は1日の終わりまでの秒数です。

setcookie("TestCookie", $value, (time()+3600*24)+(mktime(24,0,0)-time()));

お役に立てれば。

于 2011-05-18T13:55:50.790 に答える