2013-08-02 2 views
0

쿠키를 정확한 시간에 만료 시키려고합니다. 예를 들어, 쿠키가 매일 12시에 만료되기를 바랍니다. 만료 날짜는 선택하지 않지만 평생을 선택하는 것으로 알고 있습니다. 12 pm-time() 또는 이와 비슷한 것을 사용해야합니까? 그렇다면 어떻게 달성 할 수 있습니까?쿠키 만료일을 정확한 시간으로 설정하십시오.

감사합니다.

+0

태그에는 쿠키를 처리하는 데 사용하는 PHP와 javascript가 포함되어 있습니까? – Salketer

+1

@Salketer 나는 PHP와 HTML이 쿠키와 관련이 있다고 생각하여 관련 태그를 삭제하고 질문을 편집했습니다. 편집을 제안 할 수도 있습니다. –

+1

PHP에서'setcookie'는 평생이 아닌 만료에 대한 정확한 타임 스탬프를 허용합니다. 이는 평생 접근법을 사용하기 위해'time() + $ lifetime'을 수행해야 함을 의미합니다. –

답변

1

쿠키 유효 기간에 타임 스탬프를 지정해야하므로 다음 정오표의 타임 스탬프를 찾아야합니다.

$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()이므로 불필요합니다.

+0

그리고 나서 나는 정오에 패스한다.) 함수? 따라서 정오에 매일 만료되도록 할 수 있습니까? –

+1

오타 : noon -> $ noon 마지막 줄 – Stasik

+0

@JoColina 시간대가 다를 수 있습니다. 내 질문에 대한 덧글을 확인하십시오. 환호 –

0

PHP의 경우 time()을 사용하면 현재 시간을 얻은 다음 해당 시간을 기준으로 날짜를 설정할 수 있습니다.

쿠키는 만료일이 단일 한 시점이므로 12 시가되기를 원할 경우 걱정하지 않는 현재 시간을 고려하지 않고 쿠키로 설정하면됩니다.

+0

[** 시간() **] (http://php.net/manual/en/function.time.php) (윙크) –

2

귀하의 경우에는 strtotime을 쉽게 사용할 수 있습니다.

$expire = strtotime('today 12pm'); 
if (time() > $expire) { 
    $expire = strtotime('tomorrow 12pm'); 
} 
setcookie('foobar', '1', $expire); 
관련 문제