我试图每分钟连接到服务器并传入当前时间的变量,这将是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