客户端和服务器之间存在时差

时间:2012-06-25 16:09:56

标签: php javascript

使用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

如何解决此问题并将当前时间+ 24小时保存在Cookie中?

编辑: 我这样解决了:

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

1 个答案:

答案 0 :(得分:0)

您获得GMT(~UTC)时间,您必须同时保存UTC时间 AND 时区。请参阅getTimezoneOffset()https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset

旁注:

不推荐使用

toGMTString,您应该使用toUTCString

相关问题