2012-06-25 5 views
2

Javascript:Разница во времени существует между клиентом и сервером

function setinvitexpire(){ 

var ee = new Date(); 
ee.setTime(ee.getTime() + (365 * 24 * 3600 * 1000)); 

var bb = Math.round(new Date().getTime()/1000) + (24 * 3600); // remove milliseconds 

document.cookie="visit=" + bb + ";expires=" + ee.toGMTString(); 

} 
setinvitexpire(); 

PHP:

<?php 
if(isset($_COOKIE['visit'])){ 
echo date('m/d/Y g:i A', $_COOKIE['visit']); 
echo "<br>"; 
} 
?> 

я получаю:

06/26/2012 11:57 AM 

вместо:

06/26/2012 18:07 AM 

потому, что текущее время в моей стране 06/25/2012 18:07 AM

Как я могу решить эту проблему и просто сохранить текущее время + 24hours в печенье?

EDIT: Я решил таким образом:

document.cookie="visit=" + <?php echo time() + (24 * 3600); ?> + ";expires=" + ExpireC.toGMTString(); 
+2

Считаете ли вы, что, возможно, неправильно установлены часы клиента или сервера? – Amber

+2

Вам необходимо установить правильный часовой пояс на сервере. – Maerlyn

+0

@Amber: это вариант, но, скорее, OP прав: сервер и клиент просто имеют разные времена. Возможно, сервер должен вывести время клиенту и установить значение cookie с этим. – haylem

ответ

Смежные вопросы