php实现倒计时效果
现在很多团购网站都显示剩余时间。显示剩余时间可以用Javascript实现,但是我们会发现用Javascript实现并不安全,因为Javascript获取的是客户端的时间。比如团购结束了,但是懂技术的访客只需要修改自己客户端电脑的时间,然后显示产品可以购买。显然,这不是我们网站设计的初衷。团购结束后,就不能再买了。在这里,我写了一个考试系统剩余时间倒计时的显示代码,和大家讨论了一下。
实现原理:PHP在服务器端获取时间,所以我们只需要设置考试的开始时间、结束时间和当前时间。如果当前时间不在我们的考试时间范围内,会显示给考生“当前不在考试时间段内!”。如果在考试时间范围内,则得到当前时间,从结束时间减去当前时间即为剩余时间。剩余时间打印格式为“剩余考试时间:2小时56分32秒”。服务器得到剩余时间后,我们还需要在客户端动态显示剩余时间的倒计时。这需要用AJAX来实现。开始之前先熟悉几个功能吧!
PHP函数:strtotime();//将任意英文日期转换为时间戳floor();//通过舍入进行舍入,熟悉int()强制转换json_encode() //JSON对变量进行编码并返回字符串。
剩余天数的简单计算:
date_default_timezone_set('亚洲/香港');$ startDate=' 2015-8-11 ';$ endDate=' 2015-8-31 ';//将日期转换为Unix时间戳$ startdatestr=strtime($ start date);$ endtDateStr=strtotime($ end date);$ total=$ endtDateStr-$ startDateStr;$ now=strtotime(date(' Y-m-d '));$ rest=$ endtDateStr-$ now;回声“持续时间”:共计美元/(3600*24)。days br ';回声“剩余”:$ rest/(3600 * 24)。天;效果:
简单剩余时间计算:
date_default_timezone_set('亚洲/香港');$ startTime=' 09:00:00$ endTime=' 18:00:00//将时间转换为unix时间戳$ startTimestr=strtime($ start time);$ end time str=strtotime($ end time);$ total=$ end timetr-$ start timetr;$ RESThours=1;//休息1小时$ now=strtime(date(' h : I 3360s '));$ rest=$ endTimeStr-$ now;Echo的工作时间:'。($total/3600-$restHours)。'小时数br ';Echo '和:'。'下限(($ rest/3600))。几个小时。'地板(剩余/60美元)。'下班时间分钟;效果:
端到端合作实现考试剩余时间:
HTML布局
考试剩余时间:复制代码如下:span id='小时' 00/span小时span id='分钟' 00/span分钟span id='秒' 00/span秒。
java描述语言
函数dealData(id,value){ var place=document . getelementbyid(id);place.innerHTML=value} window . setinterval(function(){//每秒从服务器获取一次数据var Ajax=new Ajax();ajax.get('remain_time.php?a=' Math.random(),函数(数据){ eval(' var dtime=' data);dealData('hour ',dt time . hour);dealData('分钟',dt time . minute);dealData('second ',dt time . second);});},1000);PHP代码:
date _ default _ time zone _ set(' PRC ');$ start _ time=' 09:00:00 ';$ end _ time=' 18:00:00$ start _ famate _ time=strtotime($ start _ time);//开始时间转换为时间戳$ end _ famate _ time=strtime($ end _ time);//结束时间转换为时间戳$ now _ time=time();如果($ end _ famate _ time $ now _ time | | $ start _ time $ now _ time){ echo '当前不在检查时间范围内!退出;} $ rest _ time=$ end _ famate _ time-$ now _ time;//剩余的秒数$ retain _ hour=floor($ retain _ time/(60 * 60));//剩余小时数$ retain _ min=floor($ retain _ time-$ retain _ hour * 60 * 60)/60);//剩余分钟数$ rest _ second=($ rest _ time-$ rest _ hour * 60 * 60-$ rest _ minute * 60);//剩余秒回显JSON _ encode(array(' hour '=$ retain _ hour,' minute '=$ remain _ minute,' second '=$ retain _ second));以上是php实现倒计时的关键代码,希望对大家的学习有所帮助。
版权声明:php实现倒计时效果是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。