定时器,时区,服务器端时间,客户端倒计时

时间:2013-07-18 20:33:15

标签: php javascript time timezone

我最近启动了一个项目(here),我遇到了计时器/时间问题:

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

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

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

我知道我应该占用服务器端时间,并在客户端计时器中显示我的变量(没有得到客户端时间),但这就是它。

我真的很感激一些建议!

先谢谢大家!

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分:0)

你应该使用Keith Wood的倒数计时器:http://keith-wood.name/countdown.html

它非常易于使用。

你所要做的就是

$('#timer').countdown({
    until: '<?php echo date("h:i:s"); ?>' // change this, obviously
});

这是小提琴:http://jsfiddle.net/tqyj4/289/