2015-03-25 108 views
-1

我一直在Google上搜索2小时,并发现问题与Unix时代有关。需要关于UNIX时代的帮助

我想要做的是在php中倒计时。正如你在下面看到的,(给他们的信件很容易转介)。

B减C等于A.但是它给了我这样的:“31/12/69 19点00分08秒”,但我想有“00/00/00 00:00:08 “

(A)31/12/69 19时00分08秒=(B)25/03/15 0点13分26秒 - (C)25/03/15零点13分十八秒

而这个问题导致我的倒计时出现问题。当我想从10:00(Min,Sec)倒数时,它从60:00开始倒计时,到达50:00倒数停止。所以它的作品! 10分钟后停止,但问题是,它从60倒数。所以,它是由我猜unix时代引起的。如果我可以初始化不必要的部分,在日期中,为零或空我可以解决这个问题。


$pastTime = $currentTime - $row['startTime']; 
      if($pastTime >= $row['durationTime']){ 
       $processStatus = "Completed"; 
       $remainingTime = 0; 
      }else{ 
       $processStatus = "in Process"; 
       $remainingTime = $durationTime - $pastTime; 
      } 
      echo "<td>" . date('i:s', $remainingTime) . "</td>"; 
      echo "<td>$processStatus</td>"; 
      echo "</tr>"; 

这是我的一些代码的一部分。所以,当我这样做时,我遇到了问题; date('i:s', $remainingTime)。您看到的所有变量都包含由time()函数生成的秒数。

+0

请提供您所描述行为的代码片段,最好是[SSCCE](http://www.sscce.org)。 – dimo414 2015-03-25 04:32:02

回答

0

您没有共享任何代码,但我认为您可以减去两个时间戳以秒计算出差异,然后将结果格式化为unix时间戳。

问题在于最后一步。当你减去这两个数字时,你确实得到了一个(大部分)正确的数字,但是你决定使用(假定)date()来显示。

相反,你可能想尝试使用两个DateTime对象,请使用diff得到的差值(作为DateInterval对象),然后使用DateInterval::format得到你真正想要的格式。