本文目录一览:
php循环倒计时的代码
这个可能要配合子框架和JS的功能来实现.
思路是:
1. 在主框架页面上,安排一个表单 + 一个文本框(设变量名为 end_time),用来设置时间(target 指向子框)(日期格式: 2009-05-28 12:00:00 )
2. 再插入一个对象用来显示剩余时间(可以是文本框,也可以是span标记,还可以是其它可以用JS替换内容的对象就可以了)(假设它的标记是span id="timeout"/span).
3. 在主框架上插入一子框架,子框架的源文件指向php文件
4. 在PHP源文件中插入适当代码.代码的作用主要分几部分,
A.计算剩余时间
B.用于更新主页面的剩余时间对象的JS代码.
C.适当设置页面刷新的时间(用JS或刷页刷新代码)
部分代码:
1.主框架(index.php)
form action="timer.php" method="post" name="form1" target="timerframe" id="form1"
table border="0"
tr
td开始时间
label/label/td
tdinput name="end_time" type="text" id="end_time" value="?php echo date("Y-m-d H:i:s");?" //td
tdlabel
input type="submit" name="Submit" value="提交" /
/label/td
/tr
/table
table width="400" border="0"
tr
td /td
/tr
tr
td离结束还有:span class="STYLE1" id="timeout"aaaaa/span/td
/tr
/table
/form
iframe name="timerframe" width="1" height="1"/iframe
2.子框架(timer.php)
body
?php
$endTime=strtotime($_REQUEST['end_time']); //将终止时间转为nix_timestamp格式
$now=time(); //当前时间
//printf( "N:%s,\nbrE:%s\nbr",$now,$endTime);
if($now=$endTime) //如果时间已过结束时间
{
?
script language="javascript"
var f=parent.document.getElementById("form1")
f.end_time.value='?php echo date("Y-m-d H:i:s",$endTime+2*3600);?'
f.submit()
/script
?php
exit;
}
$timeLeft=$endTime-$now; //计算剩余的秒数,并转换为对应的 时:分:秒 的格式
?
script language="javascript"
parent.document.getElementById("timeout").innerHTML='?php echo date("H:i:s",$timeLeft-8*3600);?'
function refresh()
{
var f=parent.document.getElementById("form1")
f.submit();
}
setTimeout("refresh()",5000)
/script
/body
电影商城待上映倒计时用PHP怎么做
要求:
1) 要有小时分钟秒的实时倒计时的显示
2)用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)
其实这和很多的考试等系统的时间限制功能同样的要求.
解决思路:
1)总不能用ajax每秒都获取服务器时间吧.
所以实时倒计时一定要用javascript实现.这很简单.网上一大把的例子.
2)现在问题是解决用户端修改日期时间对我们的显示的影响.
解决的办法是计算出用户端的时间和服务器的时间差.这样问题的完成解决了.
这样只需要运行一次php.实时倒计时的时间就和服务器的时间同步了.
如何用PHP做一个循环的倒计时牌
?php
$StartDate = '06-07'; //开始日期
$OverDate = '06-08'; //结束日期
date_default_timezone_set('Etc/GMT-8'); //设置时区
$time = time();
$datetime = strtotime(date('Y-m-d', $time)); // 取得今天凌晨的时间
$year = date('Y', $time);
$OverTime = strtotime("$year-$OverDate"); // 取得结束的时间
if($OverTime $datetime){ // 判断有没有过了结束日期 如 8 号,若过了,则开始明年的倒计时
$year++;
$OverTime = strtotime("$year-$OverDate");
}
$StartTime = strtotime("$year-$StartDate");
$n = $StartTime - $time; //计算相差的时间(秒)
if($n = 0){ // 若是负数 则已经开始了
$n = abs($n) + 86400; // 若是要精确到 时 分 秒 则把这行去了
$str = "高考已经开始 第 %d 天"; //格式 输出
} else {
$str = "距 $year 年高考还有: %d 天 %d 小时 %d 分 %d 秒";
}
//下面的 $day, $hour, $min, $sec 若是已经开始则表示开的已过的时间,否则则是相差的时间
$day = intval($n / 86400);
$hour = intval(($n % 86400) / 3600);
$min = intval(($n %3600) / 60);
$sec = $n % 60;
printf($str, $day, $hour, $min, $sec);
?
php中怎样实现倒计时功能
可以考虑asp实现:
1.HiddenField 控件储存时间
!--2700秒时间--
asp:HiddenField ID="hidTime" runat="server" Value="2700" /
2.js代码
script language="javascript" type="text/javascript"
var time;
var minutes;
var seconds;
var str;
function ShowTime2() {
if(document.getElementById("btnSubmitExam") !=null)
{
time = document.getElementById("hidTime").value;
time = time - 1;
document.getElementById("hidTime").value = time;
minutes = parseInt(time / 60);
seconds = time % 60;
document.getElementById("DjTimeDiv").innerHTML = "剩余时间:" + minutes + "分钟" + seconds + "秒";
if (time == 1) {
document.getElementById("DjTimeDiv").innerHTML="剩余时间:0分钟0秒";
document.getElementById ("btnSubmitExam").click();
// window.close();
}else
{
setTimeout("ShowTime2()", 1000);
}
}else
{
document.getElementById("DjTimeDiv").innerHTML="剩余时间:0分钟0秒";
}
}
/script