使用示例:
var tim = new TimeLeft();
tim.setServerDate("2011-03-2 8:34:45"); //设置当前时间
tim.setEndDate("2011-03-2 8:55:45"); //设置结束日期
tim.setDivId("LiveClock1");
tim.clockStart();
/*** 时间倒计时函数 **/
function TimeLeft(){
this.nDate = null;
this.eDate = null;
this.divId = null;
this.DifferHour = -1;
this.DifferMinute = -1;
this.DifferSecond = -1;
this.sec_0 = 0; //要加的秒数
this.min_0 = 0; //分钟
this.hor_0 = 0; //小时
this.day_0 = 0; //天
this.moth_0 =0; //月
this.yea_0 = 0; //年
this.sec = 0; //要加的秒数
this.min = 0; //分钟
this.hor = 0; //小时
this.day = 0; //天
this.moth =0; //月
this.yea = 0; //年
//--------剩余时间参数----------
this.leftDay = 0;
this.leftHour=0;
this.leftMin=0;
this.leftSec=0;
//-----------定时器使用----------
this.sid="TimeLeft_ASBKC";
eval(this.sid+"=this");
this.divStr='0';
}
TimeLeft.prototype.setServerDate=function(serverDate){ //设置当前时间 格式: 2011-03-2 12:34:45
var dts = serverDate.split(" ");
var time1 = dts[0].split("-");
var time2= dts[1].split(":");
this.sec = parseInt(time2[2]); //要加的秒数
this.min = parseInt(time2[1]); //分钟
this.hor = parseInt(time2[0]); //小时
this.day = parseInt(time1[2]); //天
this.moth =parseInt(time1[1]); //月
this.yea = parseInt(time1[0]); //年
}
TimeLeft.prototype.setEndDate=function(endDate){ //设置服务器时间 格式: 2011-07-2 12:34:45
var dts = endDate.split(" ");
var time1 = dts[0].split("-");
var time2 = dts[1].split(":");
this.sec_0 = parseInt(time2[2]); //要加的秒数
this.min_0 = parseInt(time2[1]); //分钟
this.hor_0 = parseInt(time2[0]); //小时
this.day_0 = parseInt(time1[2]); //天
this.moth_0 = parseInt(time1[1]); //月
this.yea_0 = parseInt(time1[0]); //年
this.Tday1 = new Date(this.yea_0,this.moth_0,this.day_0,this.hor_0,this.min_0,this.sec_0); //**倒计时时间-注意格式
this.daysms = 24 * 60 * 60 * 1000;
this.hoursms = 60 * 60 * 1000;
this.Secondms = 60 * 1000;
this.microsecond = 1000;
}
//设置当前时间 年月日时分秒格式
TimeLeft.prototype.setServerDateFormat=function(year,month,day,hour,min,sec){
this.sec = sec; //要加的秒数
this.min = min; //分钟
this.hor = hour; //小时
this.day = day; //天
this.moth =month; //月
this.yea = year; //年
}
//设置到期时间 年月日时分秒格式
TimeLeft.prototype.setEndDateFormat=function(year,month,day,hour,min,sec){
this.sec_0 = sec; //要加的秒数
this.min_0 = min; //分钟
this.hor_0 = hour; //小时
this.day_0 = day; //天
this.moth_0 =month; //月
this.yea_0 = year; //年
this.Tday1 = new Date(this.yea_0,this.moth_0,this.day_0,this.hor_0,this.min_0,this.sec_0); //**倒计时时间-注意格式
this.daysms = 24 * 60 * 60 * 1000;
this.hoursms = 60 * 60 * 1000;
this.Secondms = 60 * 1000;
this.microsecond = 1000;
}
TimeLeft.prototype.setDivId=function(v){ //设置要显示的Div
this.divId=v;
}
TimeLeft.prototype.getDay=function(){ //剩余天数
return this.leftDay;
}
TimeLeft.prototype.getHour=function(){ //剩余小时
return this.leftHour;
}
TimeLeft.prototype.getMin=function(){ //剩余分钟
return this.leftMin;
}
TimeLeft.prototype.getSec=function(){ //剩余秒数
return this.leftSec;
}
TimeLeft.prototype.showTimes=function(){ //显示到页面
var timeStr ="<span style='color:#FF0000'>"+ this.getDay()+"天"+this.getHour()+"小时"+this.getMin()+"分"+this.getSec()+"秒"+"</span>";
if(this.divStr=='0'){
var mystr = document.getElementById(this.divId).innerText;
this.divStr = mystr;
}
document.getElementById(this.divId).innerHTML=this.divStr + timeStr;
}
TimeLeft.prototype.clockStart=function(){ //时间开始
this.sec = this.sec + 1;
if(this.sec>=60){
this.sec = 0;
this.min = this.min +1;
}
if(this.min>=60){
this.min = 0;
this.hor = this.hor+1;
}
if(this.hor>=23){
this.hor = 1;
this.day = this.day+1;
}
//-----如果比较和时间当前时间相同则停止
var time = new Date(this.yea,this.moth,this.day,this.hor,this.min,this.sec);
var hour = time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
var timevalue = ""+((hour > 12)?hour-12:hour);
timevalue +=((minute < 10) ? ":0":":")+minute;
timevalue +=((second < 10) ? ":0":":")+second;
timevalue +=((hour >12 ) ? " PM":" AM");
var convertHour = this.DifferHour;
var convertMinute = this.DifferMinute;
var convertSecond = this.DifferSecond;
var Diffms = this.Tday1.getTime() - time.getTime();
this.DifferHour = Math.floor(Diffms / this.daysms);
Diffms -= this.DifferHour * this.daysms;
this.DifferMinute = Math.floor(Diffms / this.hoursms);
Diffms -= this.DifferMinute * this.hoursms;
this.DifferSecond = Math.floor(Diffms / this.Secondms);
Diffms -= this.DifferSecond * this.Secondms;
var dSecs = Math.floor(Diffms / this.microsecond);
//设置当前剩余的时间数
if(this.DifferHour<0){ //没有剩余时间
this.leftDay = 0;
}else{
this.leftDay = this.DifferHour;
this.leftHour = this.DifferMinute;
this.leftMin = this.DifferSecond;
this.leftSec = dSecs;
}
this.showTimes(); //调用更新页面方法
setTimeout(this.sid+".clockStart();",1000);
}
分享到:
相关推荐
javascript 实现网页 倒计时 代码
闲着没事 发个倒计时代码 可以精确到毫秒的
js倒计时代码,挺简单的代码,新手可以参考一下
等待下班js倒计时代码等待下班js倒计时代码等待下班js倒计时代码
元旦倒计时代码 javascript倒计时代码及倒计时弹窗.pdf
js倒计时代码带css页面js倒计时代码带css页面
前端语言(HTML+css+JavaScript + canvas)写的一个 2023 年跨年倒计时代码 倒计时日期格式:月-日-时-分-秒 也可以自定义日期格式 自定义添加祝福语等 代码时按照元旦作为计算日期 也可以按照农历新年作为日期格式
等待下班js倒计时代码是一款可以自定义下班时间,到时间自动提示。
一款在倒计时结束后,报警提示铃声自动响起的js倒计时代码特效。
元旦倒计时代码
JS倒计时代码! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/
javascript元旦倒计时代码,js元旦倒计时代码,小时 和秒钟
JS的倒计时代码,这是一个很好的例子,话说啊啊啊,真麻烦啊
2023年新年倒计时HTML源代码,2023年春节倒计时代码,包含NewYear.css、NewYear.js、newyear.png及index.html。直接运行index.html即可。
js倒计时,javascript代码编写
这是一段元旦倒计时倒计时代码,web页面,浏览器直接打卡既可以访问。这是一段元旦倒计时倒计时代码,web页面,浏览器直接打卡既可以访问。这是一段元旦倒计时倒计时代码,web页面,浏览器直接打卡既可以访问。这是...