您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > VBScript的内置函数
VBScript的内置函数函数是可以向其传递参数并能够返回值的可重复使用的代码块,在Vbscript中内置了许多函数,方便我们使用。下面我们将对一些重要的函数进行分析:一、时间和日期函数VBScript有许多函数,使你可以得到各种格式的日期和时间。1、Now函数格式:Now()说明:返回当前的日期和时间值。示例2-4-1.asphtmlheadtitle时间日期/title/headbody当前时间是:%=Now%br当前时间是:%response.writeNow()%/body/html示例解读:在编程语言中函数的一个特点是后面带有圆括号,一般来说定义和调用函数这个圆括号都不能省略,但在Vbscript中调用函数时可以省略圆括号,如本例中的Now和Now()返回结果是一样的。%=Now%和%response.writeNow()%两种输出方式输出结果也是一样的。你应该注意,返回的日期和时间是你的Web服务器的系统时钟的日期和时间。如果身处纽约的某个人在看你的网页,他看到的日期和时间与她当地的日期和时间也许是不一致的。函数NOW同时返回日期和时间。如果你只想返回当前日期,你可以使用函数DATE。如果你只想返回当前时间,你可以使用函数TIME。请看下面date()函数和time()函数。2、Date函数格式:Date()说明:Date函数返回当前系统日期。示例2-4-2.asphtmlheadtitle时间日期/title/headbody当前日期是:%=Date()%br当前日期是:%response.writeDate%/body/html3、Time函数格式:Time()说明:Time函数返回当前系统时间:示例2-4-3.asphtmlheadtitle时间日期/title/headbody%response.writeNow%br%response.writeDate%br%response.writeTime%/body/html测试上面的示例可以说明时间函数Now、Date、Time的区别。4、timer函数说明:返回午夜12时以后已经过去的秒数。示例timer.asp%DimStarttime,EndTime,TimeItStartTime=TimerFori=1To3000000j=j+iNextEndTime=TimerTimeIt=EndTime-StartTimeResponse.writeTimeIt%上面的例子使用Timer函数来确定For...Next循环3000000次所需的时间:5、操作日期(1)Month函数格式:Month(date)参数:date为任意日期表达式。说明:返回当前月。Month函数和year年,day日,hour时,minute分,second秒是类似的,这些函数会将参数给定的值,转换为相应的年,月,日,时,分,秒。(2)Weekday函数格式:Weekday(date,[firstdayofweek])参数:date可以代表日期的任意表达式。Firstdayofweek可选,用来指定一周的第一天的常数。默认值周日为1。使用函数Month(),Day(),Weekday(),和Year(),你可以把一个日期分割成更小的部分。所有这些函数都以一个日期表达式作为参数,并返回一个数字。这里有一个如何使用这些函数的示例示例2-4-4.asphtmlheadtitleasp简单程序/title/headbody现在是:%=Year(date)%年BR当前月是:%=Month(date)%BR当前日期是:%=Day(date)%BR今天是星期:%=Weekday(date)-1%/body/html注意函数weekday()假定一个星期的第一天是星期日。如果你想把星期一作为一周的第一天,你可以使用语句:weekday(DATE,vbMonday),你可以把任何一天作为一周的第一天。要指定一周的第一天是星期几,只要用vbSunday,vbMonday,vbTuesday,vbWednesday,vbThursday,vbFriday或vbSaturday代替函数WEEKDAY()的第二个参数即可请看下面的示例示例2-4-5.asphtmlheadtitleasp简单程序/title/headbody%response.writeweekday(DATE,vbSunday)'把星期日作为一周的第一天response.writeweekday(DATE,vbMonday)'把星期一作为一周的第一天response.writeweekday(DATE,vbTuesday)'把星期二作为一周的第一天response.writeweekday(DATE,vbWednesday)'把星期三作为一周的第一天response.writeweekday(DATE,vbThursday)'把星期四作为一周的第一天response.writeweekday(DATE,vbFriday)'把星期五作为一周的第一天response.writeweekday(DATE,vbSaturday)'把星期六作为一周的第一天%/body/html一般情况下Weekday()在没有参数的情况下,默认把星期日作为每周的第一天,你不单可以用函数DATE作为这些函数的参数。你也可以提供一个日期字符串或者一个日期常数作为参数,如下例所示:示例2-4-6.asphtmlheadtitleasp简单程序/title/headbody2005年圣诞节是星期:%=WEEKDAY(#12/25/2005#)-1%br2005年圣诞节是星期:%=WEEKDAY(“12-25-2005”)-1%/body/html示例解读:这两个函数都返回2004年圣诞节这一天是星期几。(Weekday()默认为星期日为每周的第一天,在输出时应该减1,这里输出为0,表示星期日)表达式#12/25/2005#是一个日期常数,日期常数总是括在字符’#’中。表达式”12-25-2005”是一个日期字符串。用这两种方法为函数提供一个日期都是可行的。要以更加易读的形式返回月份和星期几,你可以使用函数Weekdayname()或Monthname()。这两个函数返回的是字符串。这里有一个使用这两个函数的例子:示例2-4-7.asphtmlheadtitleasp简单程序/title/headbody现在是%=Year(date)%年的%=Monthname(Month(date))%br今天是:%=Weekdayname(Weekday(date))%/body/html示例解读:上面示例的两个函数返回的是两个字符串,假设当前日期是二月,星期三,就返回“二月”和“星期三”字符串。这取决于当前你服务器上的时间。如果你想指定你要返回的是某月或某个星期几,那么你可以把1到12之间的任何整数作为函数Monthname()的参数,你可以把1到7之间的任何整数作为函数Weekdayname()的参数。在返回英文时,通过指定第二个参数TRUE,来强制这两个函数返回缩写的字符串。(TRUE表示要缩写,FALSE表示不缩写。)如下所示:%=Monthname(8,true)%%=Weekdayname(7,true)%6、操作时间你也可以把时间分割成更小的部分。通过函数Hour(),Minute(),和Second(),你可以返回时间的不同部分。下面是使用这些函数的一些例子:示例2-4-8.asphtmlheadtitleasp简单程序/title/headbody返回当前的时:%=Hour(time)%br返回当前的分:%=Minute(time)%br返回当前的秒:%=Second(time)%/body/html示例解读:函数Hour()返回一个0到23之间的整数(0点是午夜后的一个小时)。函数Minute()返回一个0到59之间的整数。函数Second()也返回一个0到59之间的整数。你不单可以用函数TIME作为这些函数的参数,你还可以提供一个时间常数或时间字符串作为参数。下面的两个例子都从时间中抽取分钟数34:%=MINUTE(#12:34:19#)%返回分钟:34%=MINUTE(“12:34:23”)%也返回分钟:347、比较日期和时间VBScript有两个用于比较日期和时间的函数。你可以用函数DATEADD()对日期和时间作加法,用函数DATEDIFF()计算两个日期或时间的间隔。(1)DateAdd函数格式DateAdd(interval,number,date)参数:interval必选项。字符串表达式,表示要添加的时间间隔。number必选项。数值表达式,表示要添加的时间间隔的个数,即时间间隔的倍数因子。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。date必选项。Variant或要添加interval的表示日期的文字,即:是一个日期或时间的变量或常量。说明:返回已添加指定时间间隔的日期。下面是日期和时间间隔(interval参数)间隔描述yyyy年q季度m月y一年的日数d天w一周的日数ww星期h小时n分钟s秒可用DateAdd函数从日期中添加或减去指定时间间隔。例如可以使用DateAdd从当天算起30天以后的日期或从现在算起45分钟以后的时间。要向date添加以“日”为单位的时间间隔,可以使用“一年的日数”(“y”)、“日”(“d”)或“一周的日数”(“w”)。下面是使用函数DATEADD()的一些例子:示例2-4-9.asphtmlheadtitleasp简单程序/title/headbody比今天晚六个星期的日期:%=DATEADD(ww,6,DATE)%br返回15秒钟后的时间中的秒数:%=DATEADD(s,15,TIME)%br返回当前的秒:%=Second(time)%/body/htmlDateAdd函数不会返回无效日期。如下示例将05年1月31日加上一个月:示例2-4-10.asphtmlheadtitleasp简单程序/title/headbody比2005年1月31日晚一个月的日期:%=DateAdd(m,1,31-1-2005)%br比2004年1月31日晚一个月的日期:%=DateAdd(m,1,31-1-2004)%/body/html示例解读:在这个示例中,将2005年1月31日加上一个月,DateAdd返回2005年2月28日,而不是2005年2月31日。如果将2004年1月31日加上一个月,则返回2004年2月29日,这是因为2004是闰年。如果计算的日期是在公元100年之前,则会产生错误。(2)DateDiff函数格式:DateDiff(interval,date1,date2)参数:interval指定date1和date2之间的时间间隔。取值如下所示:年yyyy,月m,日d,时h,分n,秒s,周ww。date1,date2日期表达式。用于计算的两个日期。说明:返回两个日期之间的时间间隔示例2-4-11.asphtmlheadtitleasp简单程序/title/headbody%dimm,d1,d2m=datediff(m,#2005/2/1#,Date)'返回从05年2月至今日有几个月d1=datediff(d,#2005-2-1#,Date)'返回从05年2月至今日有几天d
本文标题:VBScript的内置函数
链接地址:https://www.777doc.com/doc-5142772 .html