计算两个时间段之间的差异

时间:2012-10-22 06:09:26

标签: php mysql datetime timestamp

您好我正在使用第三方API在我们的网站中显示供稿,因为我在db表中有opentimeclosetime字段。 feed表每20秒更新一次。工作正常,现在问题出在opentimeclosetime。从我服务器中的当前时间开始,它将来会有3小时的时间(可能是他们的服务器时间)。例如,如果我的服务器当前时间是上午8:00,那么在更新时,opentime正在更新时间表为上午11:00(从现在起3小时,有时它会变化)。我们无法对feed表进行任何更改,因为该表是通过API调用自动更新的。

所以我想找出这两者之间的时差(opentime - currenttime),我怎样才能将opentime转换为我的服务器时间。

我在my-sql查询

中尝试了以下代码
TIMESTAMPADD(MINUTE,-180,FROM_UNIXTIME(opendate) // subtracting 3 hours(180 min) from the opendate.

还有其他办法吗?

感谢您的指导。

2 个答案:

答案 0 :(得分:2)

您可以更改MySQL的默认时区。这可以设置为MySQL服务器的默认设置,也可以设置为每个连接的默认设置。像这样:

set timezone='your timezone';

http://dev.mysql.com/doc/refman/5.5/en//time-zone-support.html

答案 1 :(得分:0)

为mysql config设置时区

set timezone='your timezone';

试试吧

SELECT TIMESTAMPDIFF(MINUTE,'2012-10-21', NOW()) as diff;
diff=1997