2012-08-06 133 views
0

我想获取时间的时区,与当地时间相同,但在GMT其他地区。获取时间戳的时区

还有就是我想将工作:

ceil((strtotime($scores[$i]['date'].' '.$scores[$i]['time'])-strtotime(date('d F Y H:i',strtotime("-2 hours"))))/3600) 

,但它给了我-26,-22,等..

链接到测试站点,测试数据:[LINK删除]

谢谢你的帮助。

+0

这将会是有益的,如果你表现出什么样的输入值。一些随机时间戳是无用的。像嵌套strtotime()调用的事情是**不**是一个好兆头。 timestamp-> string-> timestamp是cpu周期的无用浪费。 – 2012-08-06 01:37:26

+0

@MarcB这不是随机的,这些日期是在一个数据库中。服务器的GMT是+2(我已经更新FTP上的文件,请重新加载链接) – mark0ba 2012-08-06 01:42:35

+0

它们对我们来说是随机的 - 显然这些数字是坏时区,但由于我们无法看到这些时间值来自哪里,我们无法帮助您解决实际问题。你要求我们在烂房子上涂一层新的油漆,而忽略了房子腐烂的事实。 – 2012-08-06 01:43:24

回答

0

我发现这个逻辑推理,但我不知道为什么是这样,但现在,它工作正常...

代码:

如果(小区((strtotime($ scores [$ i] ['date']。''。$ scores [$ i] ['time']) - strtotime(date('d FYH:i',strtotime(“ - 2 hours” ))))/ 3600)< -12){0} {0} {'time']) -strtotime(date('d FYH:i',strtotime(“ - 2 hours”))))/ 3600))+ 24;

}否则{

回波小区((的strtotime($分数[$ i]于[ '日期']“ '$分数[$ i]中。[ '时间']) - 的strtotime(日期(' d FYH:i',strtotime(“ - 2 hours”))))/ 3600); }

:)