获取用户和服务器时间之间的时差?

时间:2012-08-21 19:36:31

标签: php javascript mysql time timezone

我希望有一个功能,用户可以设置他希望每天在H:mm AM / PM发送一些每日报告给他。

然后我必须确定服务器在用户指定时间的时间。例如,如果用户将下午5:00作为他希望发送电子邮件的时间,并且当前在服务器上当前晚上10:00将他当前的12:00 PM,我想确定它将在什么时间开始服务器在用户下午5:00时。

如何使用PHP / Javascript实现此目的?

我正在考虑通过javascript生成一个MySQL TIME字符串(例如hh:mm:ss)当前用户的时间,将其传递给服务器,服务器将在mysql查询中使用此字符串并执行TimeDiff()它?或者有更好的方法吗?

注意:客户端已指定必须使用用户的时钟时间,而不是他当前的时区。

2 个答案:

答案 0 :(得分:3)

在您的网址末尾的Ajax查询中,我会执行以下操作:

var ts = Math.round((new Date()).getTime() / 1000);
var url= "http://mysite.com/?usertime="+ts;

然后在服务器端你可以使用像

这样的东西
$EstimatedTimeDifference = time()-$_GET['usertime'];

所以现在你已经得到了服务器和浏览器时间之间的时间差(大致,忽略了脚本生成时间所花费的时间())。从那里,它应该相当容易。围绕它并将其除以3600以获得小时差异等。

是否有足够的信息让你前进?

答案 1 :(得分:1)