2012-10-22 106 views
0

嗨,我使用第三方API在我们的网站上显示饲料,因为我在db表中具有名为opentimeclosetime的字段。 feed表正在更新每20秒。事情工作正常,现在的问题是opentimeclosetime。在我的服务器中,它将来会有3小时(可能是他们的服务器时间)。举例来说,如果我的服务器当前时间是上午8:00,那么在上午11:00(更新时间为3小时,有时它变化)时,Feed表正在更新opentime。我们无法对表feed进行任何更改,因为表格通过API调用自动更新。计算两个时间域之间的差异

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

我尝试下面的代码在my-sql查询,

TIMESTAMPADD(MINUTE,-180,FROM_UNIXTIME(opendate) // subtracting 3 hours(180 min) from the opendate. 

是否有任何其他方式做到这一点?

高级感谢您的指导。

+1

请原谅我问,但如果你正在试图制定出两次之间的时差,你处理的时区是否真的很重要? –

+0

@ NickBarrett-我们不知道他们正在使用哪个时区,但我们使用的是IST。 –

回答

0

设置时区为MySQL配置

set timezone='your timezone'; 

试试吧

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

我可能是错的,但我不认为MySQL DateTime函数将直接在该字段上工作,因为他存储的是Unix时间戳而不是MySQL临时值。 –

+0

@ JoshuaKaiser-是的,你是对的。 –

相关问题