php循环倒计时的代码

比如设定一个活动,实时提示:现在离活动结束还有2小时00分(当然这个要实时显示,30分,29分,28分,,,等等这样)

等到倒计时结束后,再次显示离活动结束还有2小时00分.

其中请注意一下,活动结束的初始时间手工指定,比如指定到2009年5月28日12点为活动结束的初始时间,那么,当第一次活动结束时,它的下一次活动结束时间即被重置为2009年5月28日14点.

请帮忙写出代码.谢谢
感谢lishifan.
不过,您可以给出一个测试成功的完整代码吗?
谢谢.
这个可能要配合子框架和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>
<td><input name="end_time" type="text" id="end_time" value="<?php echo date("Y-m-d H:i:s");?>" /></td>
<td><label>
<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,\n<br>E:%s\n<br>",$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>