PHP 类商品秒杀计时实现代码


Posted in PHP onMay 05, 2010

要求要有小时分钟秒的实时倒计时的显示,用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)。

其实这和很多的考试等系统的时间限制功能同样的要求。

总不能用ajax每秒都获取服务器时间吧,所以实时倒计时一定要用javascript实现。这很简单,网上一大把的例子。

现在问题是解决用户端修改日期时间对我们的显示的影响。

解决的办法是计算出用户端的时间和服务器的时间差,这样问题的完成解决了。

这样只需要运行一次php,实时倒计时的时间就和服务器的时间同步了。

理论是同步的,但实际测试会有1秒的误差。(具体原因就是和网速有关,网速越快,误差就越小),但这决不会影响到我们上面的要求了。

注:秒杀时间从早上点到晚上10点。

Code 如下:

<?php //php的时间是以秒算。js的时间以毫秒算 
date_default_timezone_set('PRC'); 
//date_default_timezone_set("Asia/Hong_Kong");//地区 
//配置每天的活动时间段 
$starttimestr = "08:00:00"; 
$endtimestr = "22:00:00"; 
$starttime = strtotime($starttimestr); 
$endtime = strtotime($endtimestr); 
$nowtime = time(); 
if ($nowtime<$starttime){ 
die("活动还没开始,活动时间是:{$starttimestr}至{$endtimestr}"); 
} 
$lefttime = $endtime-$nowtime; //实际剩下的时间(秒) 
?> 
<script language="JavaScript"> 
<!-- // 
var runtimes = 0; 
function GetRTime(){ 
var nMS = <?=$lefttime?>*1000-runtimes*1000; 
var nH=Math.floor(nMS/(1000*60*60))%24; 
var nM=Math.floor(nMS/(1000*60)) % 60; 
var nS=Math.floor(nMS/1000) % 60; 
document.getElementById("RemainH").innerHTML=nH; 
document.getElementById("RemainM").innerHTML=nM; 
document.getElementById("RemainS").innerHTML=nS; 
if(nMS>5*59*1000&&nMS<=5*60*1000) 
{ 
alert("还有最后五分钟!"); 
} 
runtimes++; 
setTimeout("GetRTime()",1000); 
} 
window.onload=GetRTime; 
// --> 
</script> 
<h4><strong id="RemainH">XX</strong>:<strong id="RemainM">XX</strong>:<strong id="RemainS">XX</strong></h4>
PHP 相关文章推荐
phpmyadmin操作流程
Oct 09 PHP
php Xdebug 调试扩展的安装与使用.
Mar 13 PHP
PHP下对字符串的递增运算代码
Aug 21 PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 PHP
浅谈php和.net的区别
Sep 28 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
php实现微信扫码支付
Mar 26 PHP
php生成网页桌面快捷方式
May 05 PHP
PHP实现正则表达式分组捕获操作示例
Feb 03 PHP
PHP 面向对象 final类与final方法
May 05 #PHP
PHP 面向对象 PHP5 中的常量
May 05 #PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 #PHP
一些被忽视的PHP函数(简单整理)
Apr 30 #PHP
php 将字符串按大写字母分隔成字符串数组
Apr 30 #PHP
mayfish 数据入库验证代码
Apr 30 #PHP
在PHP中操作Excel实例代码
Apr 29 #PHP
You might like
PHP中的integer类型使用分析
2010/07/27 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
js资料toString 方法
2007/03/13 Javascript
Js基础学习资料
2010/11/23 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
2014/02/04 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
微信小程序云开发之数据库操作
2019/05/18 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
餐饮加盟计划书
2014/01/10 职场文书
有创意的广告词
2014/03/18 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
教师一帮一活动总结
2014/07/08 职场文书
买房子个人收入证明
2014/10/12 职场文书
如何写辞职信
2015/05/13 职场文书
会计主管竞聘书
2015/09/15 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
Python实现机器学习算法的分类
2021/06/03 Python
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL