注册 登录
编程论坛 ASP技术论坛

倒计时判断

nixy 发布于 2007-10-18 08:28, 1269 次点击
当天数是0时如何判断出倒计时时间
例 显示出:距开业时间还有24小时20分
<%
response.write "距开业时间还有"
response.write "<font color=blue><u>"
response.write DateDiff("d",Date(),"2007-10-18")
response.write "</font></u>"
response.write "天"
%>
13 回复
#2
tianyu1232007-10-18 09:49


<%
response.write "距开业时间还有"
response.write "<font color=blue><u>"
response.write DateDiff("n",now(),"2007-10-18 10:30:00")\60&"时"&DateDiff("n",now(),"2007-10-18 10:30:00") mod 60&"分"
response.write "</font></u>"
%>

蓝色部分是 开业时间

#3
nixy2007-10-18 10:46

这个只是能算出时间来,比如我们31日开业,那平时是计算出差几天,到最后一天计算出并显示是差几小时几分

#4
yms1232007-10-18 16:52
<%
response.write "距开业时间还有"
response.write "<font color=blue><u>"
IF DateDiff("d",Date(),"2007-10-18")=0 Then
Response.write DateDiff("h",now(),"2007-10-18 10:30:00")"时"&DateDiff("m",now(),"2007-10-18 10:30:00")&"分"
Else
Response.write DateDiff("d",Date(),"2007-10-18")
End IF
response.write "</font></u>"
%>
#5
tianyu1232007-10-18 17:47

<%
dim d,m,t1
t1="2007-10-31 10:30:00" 't1为开业时间
d=DateDiff("n",now(),t1)
if d\60\24=0 then
m=""
else
m=d\60\24&"天"
end if
response.write "距开业时间还有"
response.write "<font color=blue><u>"
response.write m&(d\60) mod 24&"时"&d mod 60&"分"
response.write "</font></u>"
%>
#6
nixy2007-10-19 14:56

还有个问题,时间不会走,一直就在那个时间内停着不动,要刷新才可以,能不能让他自动走啊

[此贴子已经被作者于2007-10-19 15:05:18编辑过]

#7
tianyu1232007-10-19 21:00

[CODE]<script language="vbscript">
setTimeout "clock", 1000
sub clock()
t1="2007-10-31 10:30:00"
num=datediff("s",now(),t1)
s=num mod 60&"秒"
m=(num\60) mod 60
if m=0 then
m=""
else
m=m&"分"
end if
h=(num\60\60) mod 24
if h=0 then
h=""
else
h=h&"时"
end if
d=num\60\60\24
if d=0 then
d=""
else
d=d&"天"
end if
NowTime=d& h & m & s
NowT.InnerHtml=NowTime
setTimeout "clock", 1000
end sub
</script>
<font color="#0000FF" ID="NowT">[/CODE]

#8
hmhz2007-10-19 22:55
楼上代码不错,简化一下
[CODE]<script language="vbscript">
setTimeout "clock()",1000
sub clock()
num=datediff("s",now(),"2007-10-20 0:00:00")
d= num\60\60\24
h=(num\60\60) mod 24
m=(num\60) mod 60
s= num mod 60
if d<>0 then d1=d&"天" end if
if h<>0 then h1=h&"时" end if
if m<>0 then m1=m&"分" end if
if s<>0 then s1=s&"秒" end if
NowT.InnerHtml=d1 & h1 & m1 & s1
setTimeout "clock()",1000
end sub
</script>
<font color="#0000FF" ID="NowT"></font>[/CODE]
#9
hmhz2007-10-20 00:16
倒计时到年的,不知道为什么与实际差两三天
[CODE]<script language="vbscript">
setTimeout "clock()",1000
sub clock()
num=datediff("s",now(),"2008-11-21 0:00:00")
y= num\60\60\24\30\12
m=(num\60\60\24\30) mod 12
d=(num\60\60\24) mod 30
h=(num\60\60) mod 24
n=(num\60) mod 60
s= num mod 60
if y<>0 then y1=y&"年" end if
if m<>0 then m1=m&"月" end if
if d<>0 then d1=d&"天" end if
if h<>0 then h1=h&"时" end if
if n<>0 then n1=n&"分" end if
if s<>0 then s1=s&"秒" end if
NowT.InnerHtml=y1 & m1 & d1 & h1 & n1 & s1
setTimeout "clock()",1000
end sub
</script>
<font color="#0000FF" ID="NowT"></font>[/CODE]
#10
madpbpl2007-10-20 01:01
以下是引用hmhz在2007-10-20 0:16:51的发言:
倒计时到年的,不知道为什么与实际差两三天
[CODE]<script language="vbscript">
setTimeout "clock()",1000
sub clock()
num=datediff("s",now(),"2008-11-21 0:00:00")
y= num\60\60\24\30\12
m=(num\60\60\24\30) mod 12
d=(num\60\60\24) mod 30
h=(num\60\60) mod 24
n=(num\60) mod 60
s= num mod 60
if y<>0 then y1=y&"年" end if
if m<>0 then m1=m&"月" end if
if d<>0 then d1=d&"天" end if
if h<>0 then h1=h&"时" end if
if n<>0 then n1=n&"分" end if
if s<>0 then s1=s&"秒" end if
NowT.InnerHtml=y1 & m1 & d1 & h1 & n1 & s1
setTimeout "clock()",1000
end sub
</script>
<font color="#0000FF" ID="NowT"></font>[/CODE]

有没有判断闰年?会不会是这里的问题

#11
tianyu1232007-10-20 19:17

恩~ 是闰年的问题!还有就是1,3,5,7,8,10,12月是31天,而4,6,9,11是30天!
#12
hmhz2007-10-20 22:29

要这样,那这个计算还要调用万年历来计算,这多麻烦啊

#13
yms1232007-10-20 22:48
个人觉得除非特殊需要,否则没必要相当准确吧?
#14
疯狂的探索者2007-10-22 16:47

七楼的不错

1