簡體   English   中英

客戶端和服務器之間存在時差

[英]Time Difference Exists Between the Client and the Server

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

因為我的國家/地區當前時間是2012年6月25日18:07

如何解決此問題,並簡單地將當前時間+ 24小時保存在Cookie中?

編輯:我以這種方式解決:

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

您正在獲取格林尼治標准時間(〜UTC),您必須同時保存UTC時間時區。 參見getTimezoneOffset()https : //developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset

附帶說明:

toGMTString已過時,你應該使用toUTCString

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM