电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

利用VBScript实现倒计时


发布日期:2023/5/18
 
澳门就要回归祖国的怀抱而且千年虫年)也一步步地在向我们逼近对于这些即将到来的时刻我们最好做一个倒计时来时刻提醒我们它们的到来而且如果在你的网页上加上一个澳门回归的倒计时牌那么也会使用你的主页立意更加新颖下面我们来用VBScript来实现这个功能

要实现倒计时主要用到的是一个时间函数 DateDIFF()它的作用是求出两个日期之间的时间间隔它的格式如下

DateDIFF(formatDateDate)

其中 format是指返回的格式我们可以按相差多少天相差多少小时或相差多少秒的格式来返回具体格式和意义请参见下表

格式 意义

Yyyy 年

Q一刻钟

M月

Y一年的一天

D天

W星期

Ww 日期

H小时

M分

S秒

在这里我们只要求出两个时间之间相差的秒数然后可以根据 天等于小时小时等于 分等于 秒来求出相差多少天多少小时多少分多少秒

Date 和Date 用来表示两个日期如果我们要求出 年到今天的时间差只要把 年放在 Date 的位置而把现在的时间放在 Date 的位置就可以了

现在在理论上已经可行了但是我们还必须加入一个标签用来显示时间而且要加入一个定时器来定时地刷新标签上的显示定时器的时间间隔定为多大为合适呢?这没有一个定论要根据条件而定因为本程序的倒计时是以秒为最小单位的所以我们必须能够正确地对每秒钟进行刷新也就是说定时器的间隔必须小于或等于 但是由于定时器的并不是严格地与秒相等所以即使设为也有可能不会及时地刷新出现间断跳跃比如显示完秒后应该是然后才是但是由于刷新不及时可能会出现显示完 秒就显示 秒的情况这就是刷新不及时造成的(但这并不影响倒计时的精确度)我们再来把定时器的时间间隔设的很小看看设为这样每隔大约/就会求一次值这是决对精确的但是又有一个问题就是如果时间间隔太小可能会抢占太多的系统时间对本来就很慢的网络来说可是个不小的负担如果折中一下可以把它设为秒内刷新这就能满足双方面的需要了

我们来看一下相应的程序段

< script LANGUAGE=VBScript >

< !

option explicit

dim MyDate 结果日期

dim datesub 时间差

dim dd 相差天数

dim hh 相差小时数

dim mm 相差分数

dim ss 相差秒数

dim strTip 标签提示

mydate=CDate()

dim mytime

Sub tmraumen_Timer()

datesub=datediff(snowmydate)

dd=fix(datesub/(**))

hh=fix((datesubdd***)/(*))

mm=fix((datesubdd***hh**)/)

ss=fix(datesubdd***HH**MM*)

strtip=年还有

strtip=strtip + cstr(dd) +

strtip=strtip + cstr(HH) + 小时

strtip=strtip + cstr(MM) + 分钟

strtip=strtip + cstr(SS) +

lblaumencaption=strtip

end sub

>

< /script >

以上仅是实现了一个最简单的倒计时牌我们还可以再此基础上对其进行改造和完善如果觉得标签的拌动太厉害的话可以把一个标签分成几个标签分别用来显示天小时如果要重新显示的值和原值相等则不对标签的内容进行刷新只有在出现变化的时候才对其进行刷新操作这样就不会出现太明显的抖动了

上一篇:关于GUI界面的布局与建立

下一篇:程序分享:从UDDI注册中心查询服务