PHP精确到毫秒秒杀倒计时实例详解

yipeiwu_com6年前PHP代码库

精确到毫秒秒杀倒计时PHP源码实例,前台js活动展示倒计时,后台计算倒计时时间。每0.1秒定时刷新活动倒计时时间。

PHP:

// 注意:php的时间是以秒算。js的时间以毫秒算 
// 设置时区 
date_default_timezone_set('PRC'); 
//配置每天的活动时间段 
$starttimestr = date('Y-m-d H:i:s', strtotime(date('Y-m-d'))); 
$endtimestr = date('Y-m-d H:i:s', strtotime(date('Y-m-d', strtotime('+1 day')))); 
$starttime = strtotime($starttimestr); 
$endtime = strtotime($endtimestr); 
$nowtime = time(); 
if ($nowtime < $starttime) { 
  exit("活动还没开始,活动时间是:{$starttimestr}至{$endtimestr}"); 
} 
if ($endtime >= $nowtime) { 
  $lefttime = $endtime - $nowtime; //实际剩下的时间(秒) 
} else { 
  $lefttime = 0; 
  exit("活动已经结束!"); 
}

js:

var runtimes = 0; 
function GetRTime() { 
  var lefttime = < ?php echo $lefttime; ? > * 1000 - runtimes * 1000; 
      if (lefttime >= 0) { 
    var nD = Math.floor(lefttime / (1000 * 60 * 60 * 24)) % 24; 
    var nH = Math.floor(lefttime / (1000 * 60 * 60)) % 24; 
    var nM = Math.floor(lefttime / (1000 * 60)) % 60; 
    var nS = Math.floor(lefttime / 1000) % 60; 
    document.getElementById("RemainD").innerHTML = nD; 
    document.getElementById("RemainH").innerHTML = nH; 
    document.getElementById("RemainM").innerHTML = nM; 
    document.getElementById("RemainS").innerHTML = nS; 
    if (lefttime == 5 * 60 * 1000) { 
      alert("还有最后五分钟!"); 
    } 
    runtimes++; 
    setTimeout("GetRTime()", 1000); 
  } else { 
    alert('活动结束了!'); 
    location.reload(); 
  } 
} 
var Num = 0; 
onload = function() { 
  Refresh(); 
  setInterval("Refresh();", 100); 
  GetRTime(); 
} 
function Refresh() { 
  if (Num < 10) { 
    document.getElementById("RemainL").innerHTML = Num; 
    Num = Num + 1; 
  } else { 
    Num = 0; 
  } 
}

以上所述是小编给大家介绍的PHP精确到毫秒秒杀倒计时实例详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【宜配屋www.yipeiwu.com】网站的支持!

相关文章

php获取网卡的MAC地址支持WIN/LINUX系统

复制代码 代码如下: <?php /** 获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ v...

自定义session存储机制避免会话保持问题

自定义session存储机制避免会话保持问题

PHP服务端session以文件的方式存储,当用户访问量过大时,session文件会非常多,而且当横向增加服务器后,session文件并不能同步,面临会话保持的问题。 有以下两种解决方案...

php设计模式 Interpreter(解释器模式)

复制代码 代码如下: <?php /** * 解释器 示例 * * @create_date: 2010-01-04 */ class Expression { function...

php实现约瑟夫问题的方法小结

本文实例总结了php实现约瑟夫问题的方法。分享给大家供大家参考。具体分析如下: 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始...

非常好用的两个PHP函数 serialize()和unserialize()

今天,在做一个关于PING服务的东西,由于不想把ping服务地址放进数据库中,那样不好,ping服务本来不是一个效率不高的事,再放进数据库中,不但更加降低了程序的效率,还给服务器带来不必...