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获取链表中倒数第K个节点的方法

本文实例讲述了PHP获取链表中倒数第K个节点的方法。分享给大家供大家参考,具体如下: 问题 输入一个链表,输出该链表中倒数第k个结点。 解决思路 注意这个题目是返回节点,而不是返回值。返...

解决nginx不支持thinkphp中pathinfo的问题

解决nginx不支持thinkphp中pathinfo的问题

下面小编通过文字加代码的方式给大家详解下,具体内容如下: 其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件...

PHP的pcntl多进程用法实例

本文实例讲述了PHP的pcntl多进程用法。分享给大家供大家参考。具体分析如下: PHP使用PCNTL系列的函数也能做到多进程处理一个事务。比如我需要从数据库中获取80w条的数据,再做一...

php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值

prev() 定义和用法 prev() 函数把指向当前元素的指针移动到上一个元素的位置,并返回该元素值。 如果内部指针已经超过数组的第一个元素之前,函数返回 false。 语法 prev...

php生成随机字符串可指定纯数字、纯字母或者混合的

php 生成随机字符串 可以指定是纯数字 还是纯字母 或者混合的。 可以指定长度的。 复制代码 代码如下: function rand_zifu($what,$number){ $str...