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



我想有一个功能,用户可以设置他希望每天在他所在的时间上午4:mm向他发送一些每日报告。

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

如何使用PHP/Javascript实现这一点?

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

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

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

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

然后在服务器端,你可以使用类似的东西

$EstimatedTimeDifference = time()-$_GET['usertime'];

因此,现在您得到了服务器和浏览器时间之间的时间差(以秒为单位)(大致忽略脚本生成时间()所花费的时间)。从那时起,这应该相当容易。将其四舍五入并除以3600,得到小时差等。

这些信息足以让你行动起来吗?

只需使用UTC时间并比较苹果与苹果:

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/UTC

http://php.net/manual/en/function.gmdate.php

相关内容

  • 没有找到相关文章

最新更新