ASP的常用内置函数

  函数,就是该语言封装了的一个功能块,以方便用户的调用。比如"now()"在VBScript中就是一个能显示出当前日期和时间的函数。至于具体为什么能显示,则是该语言内核所定的,用户只需明白"now()"就是用来能显示日期时间的。那么,我们当前接触的VBScript还有其他什么功能的函数么?

  1,日期/时间函数

  这些函数包括对"年"、"月"、"日"、"时"、"分"、"秒"、"星期"等的显示。

  (1)Now函数:根据计算机系统设定的日期和时间,返回当前的日期和时间值。使用方法now();

  (2)Date函数:只返回当前计算机系统设定的日期值。使用方法:date();

  (3)Time函数:只返回当前计算机系统设定的时间值。使用方法:time();

  (4)Year函数:返回一个代表某年的整数。使用方法:year(date),其中date参数是任意的可以代表日期的参数,比如"year(date())"就表示是从"date()"得出的日期中提取其中"年"的整数。

  另外,还可以这样应用:"year(#5 20,2006#)"表示提取"2006年5月20日"中"年"的整数值。关于"5 20,2006",也可使用"5-20-2006"、"5/20/2006"等形式表现,即"某月某日"和"某年"的组合。同时注意使用"#"进行包括以表示日期值。

  (5)Month函数:返回1到12之间的整数值,表示一年中某月。使用方法:month(date)。关于参数date的说明和year函数相同。但要注意日期的正确性,比如"#13-31-2006#",根本就没有"13"月,肯定是错误的了。

  (6)Day函数:返回1到31之间的整数值,表示一个月中的某天。使用方法:day(date)。关于参数date的说明和year函数相同。同样要注意日期的正确性,比如"#2-30-2006#"其中对"2"月定义的"30"日这天就是错误的。

  (7)Hour函数:返回0到23之间的整数值,表示一天中的某个小时。使用方法:hour(time)。其中参数time是任意的可代表时间的表达式。比如"hour(time())"就表示是从"time()"得出的时间中提取其中"小时"的整数。同样,参数time还可以这样应用"hour(#11:45:50#)"表示从"11"时"45"分"50"秒中提取当前小时数。当然,定义的时间要符合时间的规范。

  (8)Minute函数:返回0到59之间的整数值,表示一小时中的某分钟。使用方法:minute(time)。time参数的说明和hour函数相同。

  (9)Second函数:返回0到59之间的整数值,表示一分钟中的某秒。使用方法:second(time)。time参数的说明和hour函数相同。

  (10)Weekday函数:返回一个星期中某天的整数。使用方法:weekday(date)。关于参数date的说明和year函数相同。该函数返回值为"1"到"7",分别代表"星期日"、"星期一"......"星期六"。比如当返回值是"4"时就表示"星期三"。

  (11)WeekDayName函数:返回一个星期中具体某天的字符串。相对weekday函数而言即翻译出"星期几",使用方法:weekdayname(weekday)。参数weekday即星期中具体某天的数值。比如"weekdayname(weekday(date()))"就表示当前是"星期几"。因为"date()"表示的是当前的时间,而"weekday(date())"就表示的是一星期中具体某天的整数。

  当然weekdayname函数最终显示的字符串内容还与当前操作系统语系有关,比如中文操作系统将显示"星期一"这类的中文字符,而英文操作系统则显示为"Mon"(Monday简写)。

  此外,在VBScript中还有一些关于时间间隔的计算函数:

  (1)DateAdd函数:返回指定时间间隔的日期、时间。可以计算出相隔多少年、或相隔几个月、又或相隔几个小时等的新日期、时间。使用方法:dateadd(interval, number, date)。

  其中参数interval表示需要添加的时间间隔单位。其是以字符串的形式表达的,比如"yyyy"表示年,"q"表示季度,"m"表示月份,"d"表示天数,"ww"表示周数,"h"表示小时数,"n"表示分钟数,"s"表示秒数。

  而参数number则表示添加的时间间隔数。其是以数值的形式表达的,可以为负值。参数date则要求是日期、时间的正确格式。

  比如dateadd("d",100,"2006-5-20")就表示2006年5月20号以后的100天的日期值:2006-8-28。再比如dateadd("h",-12,"2005-5-20 10:00:00")就表示2005年5月20号上午10点前的12小时的日期时间:2005-5-19 22:00:00。

  (2)DateDiff函数:返回两个日期时间之间的间隔。可计算出两个日期相隔的年代、小时数等。使用方法:datediff(interval,date1,date2)。

  参数interval和dateadd函数中的interval参数内容描述相同,date1和date2参数分别就是相互比较的两个日期时间。另外,当date1的日期时间值大于date2时,将显示为负值。

  比如DateDiff("yyyy","1982-7-18",date)表示某人的出生到现在已经多少年了。又比如DateDiff("d","1982-7-18","2062-7-18")则计算了80年过了多少天:29220。

  2,字符串处理函数

  在脚本的功能处理中,通常需要对一些字符串进行一些修饰性处理。比如过滤掉字符串中的敏感字眼以符合最终显示的要求;又比如一段较长的字符串,需要提取开头的几个字符时。

  (1)Asc函数:返回字符串中第一个字母对应的ANSI字符代码。使用方法:asc(string)。其中string参数表示字符串。

  (2)Chr函数:返回指定了ANSI 字符代码对应的字符。使用方法:chr(chrcode)。参数chrcode是相关的标识数字。该函数的功能和asc函数形成对应。

  比如:asc("a")表示小写字母"a"的ANSI 字符"97";同样chr(97)表示的就是"小写字母a"。另外chr(chrcode)中参数chrcode值为0到31的数字时,表示不可打印的ASCII码。比如"chr(10)"表示换行符,"chr(13)"表示回车符等,这常用于输入和显示格式的转换中。

  (3)Len函数:返回字符串内字符的数目(字节数)。使用方法:len(string)。比如len("love")的值就是4。

  (4)LCase函数:返回所有字符串的小写形式。使用方法:lcase(string)。比如lcase("CNBruce")返回为"cnbruce"。

  (5)UCase函数:返回所有字符串的大写形式。与lcase函数形成对应。同样,ucase("CNBruce")返回为"CNBRUCE"。

  (6)Trim函数、LTrim函数和RTrim函数:分别返回前导和后续不带空格、前导不带空格或后续不带空格的字符串内容。比如:

  trim(" cnbruce ")返回为"cnbruce",前导和后续都不带空格;

  ltrim(" cnbruce ")返回为"cnbruce ",前导不带空格;

  rtrim(" cnbruce ")返回为" cnbruce",后续不带空格;

  该函数常用于注册信息中,比如确保注册用户名前或后的空格。

  (7)Left函数:返回从字符串的左边算起的指定数目的字符。使用方法:left(string,length)。比如left("brousce",5)返回为"brous",即前五位字符。

  (8)Right函数:返回从字符串的左边算起的指定数目的字符。使用方法:right(string,length)。比如right("brousce",4)返回为"usce",即后四位字符。

  (9)instr函数:返回某字符串在另一字符串中第一次出现的位置。比如现在查找字母"A"在字符串"A110B121C119D1861"中第一次出现的位置,则可以 instr(my_string,"A110B121C119D1861")

  (10)Mid函数:从字符串中返回指定数目的字符。比如现在的"110"则应该是从字符串"A110B121C119D1861"的第2位取得3个单位的值:mid("A110B121C119D1861",2,3)

  (11)Replace函数:在字符串中查找、替代指定的字符串。replace(strtobesearched,strsearchfor,strreplacewith)其中strtobesearched是字符串,strsearchfor是被查找的子字符串,strreplacewith是用来替代的子字符串。比如 replace(rscon,"<","<") 则表示将rscon中所有"<"的字符替换为"<"

  3,类型转换函数

  Cbool(string) 转换为布尔值

  Cbyte(string) 转换为字节类型的值

  Ccur(string) 转换为货币类值

  Cdate(string) 转换为日前类型的值

  Cdbl(string) 转换为双精度值

  Cint(string) 转换为整数值

  Clng(string) 转换为长整型的值

  Csng(string) 转换为单精度的值

  Cstr(var) 转换为字符串值

  Str(var) 数值转换为字符串

  Val(string) 字符串转换为数值

  4,运算函数

  Abs(nmb) 返回数子的绝对值

  Atn(nmb) 返回一个数的反正切

  Cos(nmb) 返回一个角度的余炫值

  Exp(nmb) 返回自然指数的次方值

  Int(nmb) 返回数字的整形(进位)部份

  Fix(nmb) 返回数字的整形(舍去)部份

  Formatpercent(表达式) 返回百分比

  Hex(nmb) 返回数据的16进制数

  Log(nmb) 返回自然对数

  Oct(nmb) 返回数字的8进制数

  Rnd 返回大于"0"而小于"1"的随机数,但此前需 randomize 声明产生随机种子

  Sgn(nmb) 判断一个数字的正负号

  Sin(nmb) 返回角度的正铉值

  Sqr(nmb) 返回数字的二次方根

  Tan(nmb) 返回一个数的正切值

  5,其他函数

  IsArray(var) 判断一个变量是否是数组

  IsDate(var) 判断一个变量是否是日期

  IsNull(var) 判断一个变量是否为空

  IsNumeric(var) 判断表达式是否包含数值

  IsObject(var) 判断一个变量是否是对象

  TypeName(var) 返回变量的数据类型

  Array(list) 返回数组

  Split(liststr) 从一个列表字符串中返回一个一维数组

  LBound(arrayP 返回数组的最小索引

  Ubound(array) 返回数组的最大索引

  CreateObject(class) 创建一个对象

  GetObject(pathfilename) 得到文件对象

相关推荐
Thneonl10 小时前
Claude Code 频繁 Compacting?发布次日我根治了 2 个痛点
后端·rust
环境栈笔记11 小时前
指纹浏览器安卓怎么用?从运行位置到功能验收,先把三种方案分清
前端·人工智能·后端·自动化
小小张说故事11 小时前
Python 的 list 为什么能装下任何类型?拆开 PyObject* 数组,以及它让你多付了多少内存
后端·python
小蒜学长12 小时前
基于SpringBoot 框架的自媒体新闻系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·mysql数据库·自媒体新闻管理系统
IT_陈寒12 小时前
JavaScript实战技巧总结:深挖数组遍历的性能陷阱与实战解法
前端·人工智能·后端
学长毕设1 天前
基于springboot的食品仓库管理系统
java·spring boot·后端
滴滴答答哒1 天前
ASP.NET Core + FaceRecognitionDotNet 人脸识别实战:DI 单例、特征向量持久化与 1:N 比对
后端·asp.net
captain3761 天前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
IT_陈寒1 天前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
泡海椒1 天前
05-雷达图多维画像-信用评级多维画像
后端