利用php做倒计时,如何在php项目中实现一个实时倒计时功能

如何在php项目中实现一个实时倒计时功能

发布时间:2021-02-13 12:33:20

来源:亿速云

阅读:78

作者:Leah

如何在php项目中实现一个实时倒计时功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

要求:

1) 要有小时分钟秒的实时倒计时的显示

2)用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)

其实这和很多的考试等系统的时间限制功能同样的要求.

解决思路:

1)总不能用ajax每秒都获取服务器时间吧.

所以实时倒计时一定要用javascript实现.这很简单.网上一大把的例子.

2)现在问题是解决用户端修改日期时间对我们的显示的影响.

解决的办法是计算出用户端的时间和服务器的时间差.这样问题的完成解决了.

这样只需要运行一次php.实时倒计时的时间就和服务器的时间同步了.

理论是同步的,但实际测试会有1秒的误差.(具体原因就是和网速有关,网速越快,误差就越小),但这决不会影响到我们上面的要求了.

实例:

代码:<?php

//php的时间是以秒算。js的时间以毫秒算

date_default_timezone_set("Asia/Hong_Kong");//地区

//配置每天的活动时间段

$starttimestr = "09:00:00";

$endtimestr = "18:30:00";

$starttime = strtotime($starttimestr);

$endtime = strtotime($endtimestr);

$nowtime = time();

?>

html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

PHP实时倒计时!

XX:XX:XX

实例2:

修改了上面的一些bug

代码:<?php

//php的时间是以秒算。js的时间以毫秒算

date_default_timezone_set("Asia/Hong_Kong");//地区

//配置每天的活动时间段

$starttimestr = "09:00:00";

$endtimestr = "18:30:00";

$starttime = strtotime($starttimestr);

$endtime = strtotime($endtimestr);

$nowtime = time();

?>

html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

PHP实时倒计时!

XX:XX:XX

实例3:

思路不同,简单多了.

代码:<?php

//php的时间是以秒算。js的时间以毫秒算

date_default_timezone_set("Asia/Hong_Kong");//地区

//配置每天的活动时间段

$starttimestr = "09:00:00";

$endtimestr = "13:50:00";

$starttime = strtotime($starttimestr);

$endtime = strtotime($endtimestr);

$nowtime = time();

if ($nowtime

die("活动还没开始,活动时间是:{$starttimestr}至{$endtimestr}");

}

$lefttime = $endtime-$nowtime; //实际剩下的时间(秒)

?>

html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

PHP实时倒计时!

XX:XX:XX

看完上述内容,你们掌握如何在php项目中实现一个实时倒计时功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!