function countTime(){
var date = new Date();//获取当前时间
var now = date.getTime();
var endDate = new Date("2019-01-17 15:00:00");//结束时间
var end = endDate.getTime();
var leftTime = end - now;
var d, h, m, s, ms;
if(leftTime >= 0) {
h = Math.floor(leftTime / 1000 / 60 / 60);
m = Math.floor(leftTime / 1000 / 60 % 60);
s = Math.floor(leftTime / 1000 % 60);
ms = Math.floor(leftTime % 1000);
if(ms < 100) {
ms = "0" + ms;
}
if(s < 10) {
s = "0" + s;
}
if(m < 10) {
m = "0" + m;
}
if(h < 10) {
h = "0" + h;
}
} else {
$(".pearl2").removeClass("pearl2").addClass("pearl");
$(".light").show();
$(".time").text("");
}
$(".time").text(h + "时"+m + "分"+s + "秒")
setTimeout(countTime, 50);
}
// var date = new Date();//获取当前时间
// var now = date.getTime();
// var endDate = new Date("2019-01-22 15:00:00");//结束时间
// var end = endDate.getTime();
// var leftTime = end - now;
var leftTime=5*60*60*1000;
function countTime(leftTime){
var d, h, m, s, ms;
if(leftTime >= 0) {
h = Math.floor(leftTime / 1000 / 60 / 60);
m = Math.floor(leftTime / 1000 / 60 % 60);
s = Math.floor(leftTime / 1000 % 60);
ms = Math.floor(leftTime % 1000);
if(ms < 100) {
ms = "0" + ms;
}
if(s < 10) {
s = "0" + s;
}
if(m < 10) {
m = "0" + m;
}
if(h < 10) {
h = "0" + h;
}
$(".time").text(h + "时"+m + "分"+s + "秒")
setTimeout(function(){
leftTime=leftTime-1000;
sessionStorage.setItem('time',leftTime);
countTime(parseInt(sessionStorage.getItem('time')));
//countTime(leftTime);
}, 500);
} else {
$(".time").text("倒计时结束");
}
}
sessionStorage.getItem('time')?countTime(parseInt(sessionStorage.getItem('time'))):countTime(leftTime);
//countTime(leftTime);
去百度搜索一下一个神奇的时间工具类calendar。你会发现你写的代码是渣
就是一个简单的5 * 3600 (s)进行一个每秒递减的操作啦
不知道你说的获得5小时的定时是用什么写的,或者用在什么地方,我目前以51单片机的为例。
/*-----------------------------------------------------------------------------------------------------------------------------
计时器中断服务函数
------------------------------------------------------------------------------------------------------------------------------*/
void Timer0() interrupt 1
{
static unsigned int i,tcnt;
TH0=(65535-1000)/256; //重新赋值 1ms
TL0=(65535-1000)%256;
Display(0,8); // 调用数码管扫描
if(BeepFlag) //启动喇叭标志
{
if(tcnt500&&tcnt<800) )
BEEP=!BEEP; //闪响
else
BEEP=0; //停止发声
}
i++;
if(i==2) //20ms更新一次
{
i=0;
UpdateTimeFlag=1; //更新时间志位置1
}
if(GOFLAG==1)
{
tcnt++;
if(tcnt==1000) //检测当前数值显示了一小段时间后,需要显示的数值-1,实现数据显示的变化 //大致1s
{
tcnt=0;
second++;
LED=!LED;
if(second==60)
{
second=0;
minute++;
if(minute==60)
{
minute=0;
hour++;
if(hour==24)
{
hour=0;
}
}
}
}
}
else
TEMP_D();
}
void Init_Time0(void)
{
TMOD=0X01; //工作方式 1 , //使用模式1,16位定时器,
// TH0=(65535-2000)/256;
// TL0=(65535-2000)%256;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //启动计时
}