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();
Считаете ли вы, что, возможно, неправильно установлены часы клиента или сервера? – Amber
Вам необходимо установить правильный часовой пояс на сервере. – Maerlyn
@Amber: это вариант, но, скорее, OP прав: сервер и клиент просто имеют разные времена. Возможно, сервер должен вывести время клиенту и установить значение cookie с этим. – haylem