js倒计时具体时间怎么设置

JavaScript013

js倒计时具体时间怎么设置,第1张

var the_s = 188888//定义剩余时间, 必须用时间戳.单位为秒

setInterval(promote,1000)//每秒执行一次下面的函数

function promote() {

var d = Math.floor((the_s / 3600) / 24)

var g = Math.floor((the_s - d * 24 * 3600) / 3600)

var e = Math.floor((the_s - d * 24 * 3600 - g * 3600) / 60)

var f = (the_s - g * 3600) % 60

var html = "还剩<b>" + d + "</b>天<b>" + g + "</b>时<b>" + e + "</b>分<b>" + f + "</b>秒"

document.getElementById("divdown1").innerHTML = html//这个id是你想要显示的div的id

the_s--

}

我这个定时器比你的好, 用我的.  你只要定义了the_s和要显示在哪的id. 就可以用了.

如你要显示剩余4小时, 那么将4小时转化为秒: 4*60*60=14400, 就这样调用:

var the_s = 14400

setInterval(promote,1000)

就ok了. 记得要引用我的函数哟~

不知道该怎么给你描述这个概念,这样说吧。

js中,时间有两种表示的:

1.Mon Feb 13 2012 02:58:41 GMT+0800

2.时间戳 1329073121000

这两者是等价的,可以互相转化的。

var t=new Date("Mon Feb 13 2012 02:58:41 GMT+0800")

alert(t-0) //把它当成一个时间戳,就是整型,可以做算术运算,结果为1329073121000

alert(t.toString()) //与alert(t)等价,结果为Mon Feb 13 2012 02:58:41 GMT+0800

我假设从服务器中得到的是时间戳

ASP代码部分:

<%

dim conn,sql

set conn = server.createobject("adodb.connection")

conn.connectionstring="Provider = Microsoft.Jet.OLEDB.4.0Data Source="&server.mapPath("Database.mdb")

conn.open

sql="SELECT option FROM table WHERE type=time"

set rs = server.createobject("adodb.recordset")

rs.open sql,conn,1,1

%>

HTML部分:

<html>

<head>

<title>countdown</title>

</head>

<body>

<div id="show"></div>

</body>

</html>

<script type="text/javascript">

(function(){

// var t=<%=rs("option")%>

var t=1331582321000

var show=document.getElementById('show')

setInterval(function(){

var d=count(t)

show.innerHTML=d.day+'日'+d.hour+'小时'+d.min+'分钟'+d.sec+'秒'

},1000)

//传入要倒计时的日期的时间戳,返回还剩多少日小时分钟秒

function count(t){

var c=Math.floor((t-(new Date()))/1000)

var d,h,m,s

d=Math.floor(c/24/3600)

h=Math.floor((c-d*24*3600)/3600)

m=Math.floor((c-d*24*3600-h*3600)/60)

s=Math.floor(c-d*24*3600-h*3600-m*60)

return {

day:d,

hour:h,

min:m,

sec:s

}

}

})()

</script>

逻辑如下:

1、先判断两个时间的时间差,当然如果得到的时间是13位时间戳的话你需要转化一下

2、判断时间够一天显示天数,够一小时显示小时数

相关代码:

//获取时间,时间戳转换,不是则不转

var mydate1 = new Date(parseInt(time1.replace("/Date(", "").replace(")/", "")))

var mydate2 = new Date(parseInt(time2.replace("/Date(", "").replace(")/", ""))) 

//获取剩余秒数 

var timerc =dateDiff(mydate, '2015/05/19 10:00:00') / 1000

function dateDiff(date1, date2) {

            var dt1 = new Date(Date.parse(date1))

            var dt2 = new Date(Date.parse(date2))

            try {

                return Math.round((dt2.getTime() - dt1.getTime()))

            }

            catch (e) {

                return e.message

            }

        } 

//循环调用倒计时

  function add() { //加时函数

            --timerc //时间变量自减1

            var day = parseInt(timerc / 86400)

            var hour = parseInt((timerc % 86400) / 3600)

            var min = parseInt((timerc % 3600) / 60)

            var sec = Number(parseInt(timerc % 60 / 10)).toString() + Number(parseInt((timerc % 10))).toString()

            if (day > 0) { //如果不到5分钟

                $("#day").html(day + '天') //写入天数

                $("#hour").html(hour + '时') //写入小时数

                $("#min").html(min + '分') //写入分钟数

                $("#sec").html(sec + '秒') //写入秒数(两位)

            }

            else if (hour > 0) {

                $("#hour").html(hour + '时') //写入小时数

                $("#min").html(min + '分') //写入分钟数

                $("#sec").html(sec + '秒') //写入秒数(两位)

            }

            else if (min > 0) {

                $("#min").html(min + '分') //写入分钟数

                $("#sec").html(sec + '秒') //写入秒数(两位)

            }

            else if (sec != '00') {

                $("#sec").html(sec + '秒') //写入秒数(两位)

            }

            else {

                tiao(activity) return true//时间到0调用函数

            }

            setTimeout("add()", 1000) //设置1000毫秒以后执行一次本函数

        }

望采纳!