2013-07-18 109 views
0

我已经推出一个项目近期(here),我只能和定时器/时间问题:定时器,时区,服务器端的时间,客户端倒计时

我有谁每天都跑步是一个cronjob,每天两次:法国时区的午夜和中午。

我想显示一个“倒计时到下一页”,这实际上是一个倒计时直到cronjob。

我有点卡住了,因为当我开始考虑时间和时区相关的事情时,我的大脑就会冻结。

我知道我应该服务器端的时间,并显示我的变量在客户端计时器(无需获得客户端时间),但这就是它。

我真的很感激一些建议!

在此先感谢大家!

+0

类'DateTime'(或者甚至更好,['DateTimeImmutable'(HTTP:// PHP。 net/manual/en/class.datetimeimmutable.php)用于PHP 5.5+)允许您创建代表特定时刻的值。你可以直接用'<'来比较它们中的两个,以查找哪一个更早。 ['diff'](http://www.php.net/manual/en/datetime.diff.php)方法可以让你找到两个这样的时刻之间的时间间隔。你有没有尝试过使用它们? – Jon

+0

我不确定我的主机有php大于5.4,所以我必须坚持使用dateTime! 我知道diff方法,但我怎么能有这个特定的“午夜”或“午间”是什么让我卡住... –

回答

0

您可以使用php DateTime

  • 当前时间
  • 正午时间
  • 午夜时间

下面是一个例子。

$now = new DateTime; 
$morning = new DateTime('08:00'); 
$night = new DateTime('22:00'); 
// next time is night 
if($now > $morning && $now < $night) 
{ 
    $time = $now->diff($night); 
} 
// next time is day 
else 
{ 
    $time = $now->diff($morning); 

} 

$target = $time->format('%h:%i:%s'); // returns a string. 
相关问题