我已经推出一个项目近期(here),我只能和定时器/时间问题:定时器,时区,服务器端的时间,客户端倒计时
我有谁每天都跑步是一个cronjob,每天两次:法国时区的午夜和中午。
我想显示一个“倒计时到下一页”,这实际上是一个倒计时直到cronjob。
我有点卡住了,因为当我开始考虑时间和时区相关的事情时,我的大脑就会冻结。
我知道我应该服务器端的时间,并显示我的变量在客户端计时器(无需获得客户端时间),但这就是它。
我真的很感激一些建议!
在此先感谢大家!
我已经推出一个项目近期(here),我只能和定时器/时间问题:定时器,时区,服务器端的时间,客户端倒计时
我有谁每天都跑步是一个cronjob,每天两次:法国时区的午夜和中午。
我想显示一个“倒计时到下一页”,这实际上是一个倒计时直到cronjob。
我有点卡住了,因为当我开始考虑时间和时区相关的事情时,我的大脑就会冻结。
我知道我应该服务器端的时间,并显示我的变量在客户端计时器(无需获得客户端时间),但这就是它。
我真的很感激一些建议!
在此先感谢大家!
您可以使用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.
您应该使用基思·伍德的倒计时:http://keith-wood.name/countdown.html
这是非常容易使用。
所有你需要做的就是
$('#timer').countdown({
until: '<?php echo date("h:i:s"); ?>' // change this, obviously
});
类'DateTime'(或者甚至更好,['DateTimeImmutable'(HTTP:// PHP。 net/manual/en/class.datetimeimmutable.php)用于PHP 5.5+)允许您创建代表特定时刻的值。你可以直接用'<'来比较它们中的两个,以查找哪一个更早。 ['diff'](http://www.php.net/manual/en/datetime.diff.php)方法可以让你找到两个这样的时刻之间的时间间隔。你有没有尝试过使用它们? – Jon
我不确定我的主机有php大于5.4,所以我必须坚持使用dateTime! 我知道diff方法,但我怎么能有这个特定的“午夜”或“午间”是什么让我卡住... –