0

我想要一个功能,用户可以设置他希望每天在 H:mm AM/PM 他的时间向他发送一些每日报告。

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

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

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

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

4

2 回答 2

3

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

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

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

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

所以现在你得到了服务器时间和浏览器时间之间的时间差(以秒为单位)(粗略地,忽略脚本生成 time() 所花费的时间)。从那里开始,它应该相当容易。将其舍入并除以 3600 以获得小时数差异等。

这些信息足以让你继续前进吗?

于 2012-08-21T19:45:07.887 回答
1

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

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

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

于 2012-08-21T19:47:37.043 回答