我試圖每分鐘連接到服務器並傳入當前時間的變量,這將是lastUpdate。在服務器端的php文件中,我計劃將傳入的時間變量與數據庫行中的TIMESTAMP
進行比較;就像if (time1-time2 > certain value)...
到目前爲止,JavaScript代碼:在本地存儲中更新時間
var time;
var timer_is_on = 0;
localStorage.lastUpdate = 0;
localStorage.numUpdates = 0;
function timedCount()
{
localStorage.lastUpdate = new Date();
//connect to server
contactServer(localStorage.lastUpdate);
currentCount=currentCount+1;
time=setTimeout("timedCount()",60000);
}
我的問題是我是否正確地這樣做。我宣佈localStorage.lastUpdate
爲new Date()
,我不確定這是否正確?我試過這個循環,每分鐘lastUpdate
似乎是相同的日期和時間。
我最後一個問題是我是否可以比較兩種時間格式從JavaScript和PHP。在SQL時間戳中,格式爲2012-03-20 11:14:40
,而javascript new Date()
的日期格式爲Tue Mar 20 2012 12:32:44 GMT-0400 (Eastern Daylight Time)
。
任何信息將會有所幫助,謝謝!
我同意。您不應該指望將客戶端提供的時間與服務器上的時間進行比較。它們可能會有所不同,特別是當您考慮時區的影響時。一般來說,我發現使用設置爲UTC的UNIX時間戳傳遞時間/日期是最簡單的。它是任何平臺上可靠的最低公分母。 – pseudosavant 2012-03-20 17:32:20
但是,仍然需要避免這種情況發生。人們不能依賴客戶端發送給服務器的內容。決不! – Alytrem 2012-03-21 08:29:31