setcookie + strtotime («завтра») дают неверную дату - PullRequest
3 голосов
/ 18 мая 2011

сегодня 18.05.2011 Если я сделаю

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

Я получаю 00:00 19.05.2011, как и должно быть, но если я использую ту же функцию в setcookie, как:

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

Срок действия моих файлов cookie истекает 18.05.2011 в 21:00.

Я не уверен, что я делаю неправильно, но я проверял разные способы и разное время, и я всегда получал один и тот же результат

Я хочу, чтобы срок действия файла cookie истек в 00:00 следующего дня. Если сегодня 05/18 10:00 утра, я хочу, чтобы срок его действия истек 19.05 00:00

Спасибо, ребята

Ответы [ 2 ]

3 голосов
/ 18 мая 2011
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

1 голос
/ 18 мая 2011

Функция 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()));

Надеюсь, это поможет.

...