好吧,我有一个计数器我犯了这个错误,巫婆是倒数计数到0
$time=1283593330+(60*15);
$time3= time();
$time2=$time-$time3;
1283593330=Sat, 04 Sep 2010 09:42:10 GMT
错误是这样的: 当$ time3时间戳达到$ time的时间戳时,它表示05:00:00 instande 00:00:00。 这是我用来调用它的代码。
Time left: '.date('g:i:s ',$time2).'<br />
我不确定我是否做错了,如果5是unix_timestamp的主要时间或PHP中的日期推荐
无论如何要解决这个问题?或者这是来自时间戳的,只是对我所需要的想法不好。
答案 0 :(得分:2)
你所在的时区比UTC早5小时:你说1283593330是09:42,但实际上是04:42 UTC。
当$time2
为零时,这代表Unix时间纪元:这是1970年1月1日的午夜UTC。因此,当您使用date
输出时,它会显示您所在时区的时间:00 :00 UTC,即您所在时区的05:00。
重要的是,当达到目标时间时,$time2
为零。
鉴于你的计数器倒计时15分钟,你可以得到这样的剩余时间:
$hours = floor($time2 / 60);
$mins = $time2 % 60;
printf("Time left: %d:%02d\n", $hours, $mins);