Php 计算两个时间域之间的差异
您好,我正在使用第三方API显示我们站点中的提要,因为我在db表中有名为Php 计算两个时间域之间的差异,php,mysql,datetime,timestamp,Php,Mysql,Datetime,Timestamp,您好,我正在使用第三方API显示我们站点中的提要,因为我在db表中有名为opentime和closetime的字段。feed表每20秒更新一次。一切正常,现在问题出在opentime和closetime上。从我的服务器的当前时间算起,未来有3个小时的时间(可能是他们的服务器时间)。例如,如果我的服务器当前时间是上午8:00,则在提要表更新时,opentime为上午11:00(从现在起3小时,有时会有所变化)。我们无法对feed表进行任何更改,因为该表通过API调用自动更新 所以我想找出这两者之间
opentime
和closetime
的字段。feed
表每20秒更新一次。一切正常,现在问题出在opentime
和closetime
上。从我的服务器的当前时间算起,未来有3个小时的时间(可能是他们的服务器时间)。例如,如果我的服务器当前时间是上午8:00,则在提要表更新时,opentime
为上午11:00(从现在起3小时,有时会有所变化)。我们无法对feed
表进行任何更改,因为该表通过API调用自动更新
所以我想找出这两者之间的时间差(opentime-currenttime
),如何才能将opentime
转换为我的服务器时间
我在我的sql
查询中尝试了以下代码
TIMESTAMPADD(MINUTE,-180,FROM_UNIXTIME(opendate) // subtracting 3 hours(180 min) from the opendate.
还有别的办法吗
提前感谢您的指导。您可以更改MySQL的默认时区。这可以设置为MySQL服务器的默认设置,也可以在每次连接时动态设置。大概是这样的:
set timezone='your timezone';
设置mysql配置的时区
set timezone='your timezone';
试试看
SELECT TIMESTAMPDIFF(MINUTE,'2012-10-21', NOW()) as diff;
diff=1997
请原谅我的提问,但是如果你想计算出两次之间的时差,那么你处理的时区真的重要吗?@NickBarrett-我们不知道他们使用的是哪个时区,但我们使用的是IST。我可能错了,但我认为MySQL DateTime函数不会直接在该字段上工作,因为他存储的是Unix时间戳,而不是MySQL时间值。