1、VB 函数数学函数(1)Abs 函数语法:Abs(number)返回一数值的绝对值。参数 number 可以是任何数值表达式。如果 number 的值为 Null,则返回 Null;如果其参数是没有初始值的变数,则返回 0。注解:一个数值的绝对值就是将正负号去掉以后的值。例如 Abs(-1) 和 Abs(1) 的返回值都是 1。(2)Atn 函数语法:Atn(number)该函数返回参数的反正切(arctangent) 值。参数 number 可以是任何有效的数值表达式。注解:Atn 函数的参数 (number) 是直角三角形中构成直角两边的比值(正切函数值),其返回值则为相对应之底角的度数,
2、以弧度为单位。正切函数值 (number) 的算法为对边除以邻边。返回值的范围落在 pi/2 到 pi/2 的弧度之间。角度与弧度的转换方法为:将角度乘以 pi/180 即为弧度。反过来将弧度乘以 180/pi便得角度。(3)Cos 函数语法:Cos(number)该函数返回一角度的 cosine (余弦函数)值。参数 number 可以是任何有效的数值表达式,其值代表一个角度,以弧度为单位。注解:Cos 函数的参数表示角度,返回值为该角度两邻边的比值。其比值的定义为连接另一锐角的邻边除以连接直角的邻边。返回值的范围在 -1 到 1 之间。(4)Exp 函数语法:Exp(number)该函数返
3、回 e(自然对数之底数)的某次方。参数 number 可以是任何的数值表达式。注解:如果 number 的值超过 709.782712893,会产生程式错误。常数 e 的值大约是 2.718282。(5)Log 函数语法:返回参数的自然对数值。Log(number)参数 number 可以是任何的数值表达式,条件是参数值必须大于 0。注解:自然对数是以 e 为底数的对数。常数 e 的值大约是 2.718282。(6)Rnd 函数VB 函数语法:Rnd(number)返回一个随机数。参数 number 可以是任何的数值表达式。注解:Rnd 函数返回的随机数范围是:介于 0 和 1 之间,可等于
4、0,但不等于 1。number 的值会影响 Rnd 返回的随机数,见下表:Number 的取值 返回值小于 0 每次都是使用 number 当作随机结果。大于 0 随机序列中的下一个随机数。等于 0 最近一次产生过的随机数。省略 随机序列中的下一个随机数。给定一个随机种子后,便会产生一特定的随机序列,因为每调用一次 Rnd 函数,它就会使用先前调用时所产生的随机值当成新的随机种子以产生新的随机值。在使用 Rnd 之前,最好先调用 Randomize 语句,但不要给任何参数,如此便会以系统的时间当作乱数种子来起始乱数产生器。若想产生在某个范围内(非 0 到 1)的整数乱数值,可使用下列公式:In
5、t(upperbound - lowerbound + 1) * Rnd + lowerbound)上述公式中,upperbound 是随机范围的上限,而 lowerbound 则是随机的下限。附注:若想得到重复的随机序列,可以在调用 Randomize 之前先调用 Rnd 并且传入一个小于 0 的参数值。用同样的随机种子调用 Randomize 两次的话,并不会得到两次相同的乱数序列。(7)Round 函数语法:Round(expression, numdecimalplaces)返回一个被四舍五入到某个小数位的数值。Round 函数的语法包含以下的组成部分:Expression 为必须项。
6、要被四舍五入的数值表达式。numdecimalplaces 为可选项。此数字表示要四舍五入至小数下第几位。如果省略,Round 函数将返回整数。(8)Sgn 函数语法:Sgn(number)返回一个整数代表参数的正负号。参数 number 可以是任何的数值表达式。Sgn 函数有下列返回值:number 返回值大于 0 1等于 0 0小于 0 -1注解:参数 number 的正负号决定了 Sgn 函数的返回值。VB 函数(9)Sin 函数语法:Sin(number)返回参数的 sine (正弦函数)值。参数 number 可以是任何的数值表达式,其值代表一个角度,以弧度为单位。注解:Sin 函数
7、的参数值代表一个角度,其返回值为该角度之另一锐角之邻边除以对边的值。返回值的范围在 -1 到 1 之间。(10)Sqr 函数语法:Sqr(number)返回参数的平方根。参数 number 可以是任何的数值表达式,只要参数值大于或等于 0 即可。(11)Tan 函数语法:Tan(number)返回参数的正切( tangent) 函数值。参数 number 可以是任何的数值表达式,其值代表一个角度,以弧度为单位。注解:Tan 的参数值代表一个角度,其返回值为其对边除以连接直角的邻边的值。字符串函数(1)Asc 函数语法:Asc(string)该函数返回字符串中第一个字母的 ANSI 码。参数 s
8、tring 是任何可用的字符串表达式。若是 string 中没有包含任何字元,则会产生执行阶段错误。注解:AscB 函数是用来处理包含二进制的字符串, AscB 函数会返回第一个位元素,而非第一个字元的字元码。AscW 函数则是为了使用 Unicode 字元码的 32 位元作业平台而设计的。此函数会返回 Unicode 字元码,而避免将 ANSI 码转换为 Unicode 码处理。(2)InStr 函数语法:InStr(start, string1, string2, compare)该函数返回在某字符串中一字符串的最先出现位置。InStr 函数语法有下列的参数:start 为可选项。为一数值
9、表达式,用来设定每次搜寻的起点。如果省略,将从第一个字元开始。如果 start 所含为 Null,将发生错误。如果有 compare 参数,则一定要有 start 参数。string1 为必须项。欲进行搜寻的字符串。string2 为必须项。欲搜寻的字符串。VB 函数compare 为可选项。设定字符串比较种类。如果省略 compare,将进行二进制比较。参数 compare 的设定值如下:常数 值 说明vbBinaryCompare 0 进行二进制比较。vbTextCompare 1 进行字符比较。vbDatabaseCompare 2 执行数据内容比较。Instr 函数的返回值如下:寻找条
10、件 返回值string1 长度为零 0string1 为 Null Nullstring2 长度为零 startstring2 为 Null Nullstring2 找不到 0在 string1 中找到 string2 找到的位置startLen(string2) 0(3)InstrRev 函数语法:InstrRev(string1, string2, start, compare)返回在某字符串中一字符串的最先出现位置,从尾端开始搜寻。InstrRev 函数语法有下列几部份:string1 为必须项。欲进行搜寻的字符串表达式。string2 为必须项。欲搜寻的字符串表达式。Start 为可选
11、项。为一数值表达式,用来设定每次搜寻的起点。如果省略,则为 -1,代表将从最后一个字符开始。如果 start 所含为 Null,将发生错误。compare 可选项。设定字符串比较类型。如果省略 compare,将进行二进制比较。参数 compare 的设定值如下:常数 值 说明vbBinaryCompare 0 进行二进位资料比对。vbTextCompare 1 进行文字资料比对。vbDatabaseCompare 2 执行根据资料库所含资料的比对。InStrRev 函数的返回值如下:比较条件 返回值string1 长度为零 0string1 为 Null Nullstring2 长度为零 s
12、tartstring2 为 Null Nullstring2 找不到 0VB 函数在 string1 中找到 string2 找到的位置startLen(string2) 0注解:注意 InstrRev 函数的语法与 Instr 函数的语法并不相同。(4)LCase 函数语法:LCase(string)将 String 转换成小写并返回参数 string 可以是任何字符串表达式。如果 string 所含为 Null,将返回 Null。注解:只有大写的字母会转成小写;所有小写字母和非字母字符保持不变。(5)Left 函数语法:Left(string, length)返回一字符串由左算起特定数量的
13、字符。Left 函数语法有下列的参数:String 参数,为函数欲执行的字符串表达式。如果 string 所含为 Null,将返回 Null。length 数值表达式,指出欲返回左方多少个字符。如果为 0,返回零长度 (“)。如果大于或等于 string的字符数,则返回整个字符串。注解:要知道 string 的字符数,请用 Len 函数。附注:LeftB 函数是使用在位元组字符串上。所以此时 length 代表的是位元组数,而非字符数。(6)Len 函数语法:Len(string | varname)返回字符串内字符的数目,或是返回储存一变数所需的位数。Len 函数语法有下列几部份:strin
14、g 为任何正确的字符串表达式。如果 string 所含为 Null,则返回 Null。varname 为任何正确的变数名称。如果 varname 所含为 Null,则返回 Null。(7)LTrim、RTrim,与 Trim 函数语法:LTrim(string)RTrim(string)Trim(string)将给定字符串的前头空白 (LTrim)、后面空白 (RTrim)、或前后空白 (Trim) 删除后返回。参数 string 可以是任何字符串表达式。如果 string 所含为 Null,则返回 Null。(8)Mid 函数语法:Mid(string, start, length)从一个字
15、符串的某一位置向后返回特定数量字符。Mid 函数语法有下列的参数:string 字符串表达式。如果 string 所含为 Null,则返回 Null。VB 函数start 欲返回字符串在 string 之开头位置。如果 start 超过 string 的范围, Mid 则返回零长度字符串(“)。length 即返回的字符数。如果省略或 length 超过可以返回的字符数,(包括 start 处的字元),那将返回从 start 到尾端的所有字符数。下面的示例利用 Mid 函数返回字符串中从第四个字符开始的六个字符:Dim MyVarMyVar = Mid(“VB 脚本 is fun!“, 4,
16、6) MyVar 包含 “Script“。注意 MidB 函数与包含在字符串中的字节数据一起使用。其参数不是指定字符数,而是字节数。例:M=4100A1=Mid(M,1,1) A1=4A2=Mid(M,2,2) A2=10注解:string 的字符数,可用 Len 函数。(9)Replace 函数语法:Replace(expression, find, replacewith, start, count, compare)返回一个字符串,表示字符中的一个特定子字符串已经被另一个子字符串取代的次数。Replace 函数的语法包含以下的组成部分:Expression 为必须项。字符串表达式,包含了
17、要被取代的子字符串。find 为必须项。要被搜寻的子字符串。replacewith 为必须项。用来取代的子字符串。start 为必须项。在 expression 中,子字符串搜寻动作的开始位置。如果省略,则预设为 1。Count 为 可选项。表示子字符串取代的执行次数。如果省略,默认值为 -1,表示将执行所有可能的取代动作。compare 为可选项。指定子字符串比对的种类。compare 参数的设定值如下:常数 值 说明vbBinaryCompare 0 执行二进制比较。vbTextCompare 1 执行字符比较。vbDatabaseCompare 2 执行数据内容比较。Replace 函数
18、有下列返回值:条件 返回值expression 的长度为零 返回空字符串(“) 。expression 是 Null 错误。find 的长度为零 一份 expression 的复制。VB 函数replacewith 的长度为零 find 的移除项目。start Len(expression) 空字符串。count 为零 一份 expression 的复制。注解:Replace 函数的返回值是一个字符串,而这个字符串已进行过取代动作。而取代动作是从 start 所决定的位置开始,在 expression 字符串的结尾停止执行。这个字符串不是原始字符串从头到尾的复制。(10)Right 函数语法:
19、Right(string, length)返回一字符串右边特定数量的字符。Right 函数语法有下列的参数:string 字符串表达式,为函数欲执行的字符串表达式。如果 string 所含为 Null,则返回 Null。length 数值表达式,指出欲返回右方多少字符。如果为 0,返回零长度(“)。如果大于或等于 string 的字元数,则返回整个字符串。注解:要知道 string 的字符数,可用 Len 函数。(11)Str 函数语法:Str(number)返回代表一数值的 Variant (String)。注解:必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。当一
20、数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。附注:Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。(12)StrComp 函数语法:StrComp(string1, string2, compare)返回一值,代表字符串比较的结果。StrComp 函数语法有下列的参数:s
21、tring1 为必须项。任何正确的字符串表达式。string2 为必须项。任何正确的字符串表达式。compare 为可选项。指定字符串比对的型态。如果省略,则进行二进制比较。参数 compare 的设定值如下:常数 值 说明vbBinaryCompare 0 执行二进制比较。vbTextCompare 1 执行字符比较。VB 函数vbDatabaseCompare 2 执行数据内容比较。StrComp 函数有下列返回值:条件 返回值string1 小于 string2 -1string1 等于 string2 0string1 大于 string2 1string1 或 string2 为 N
22、ull Null(13)String 函数语法:String(len, character)创建含有 len 个字符的字符串。String 函数语法有下列的参数:len 为欲返回之字符串长度。如果 len 的值为 Null,则返回 Null。character 字符码 (代表某特定字元) 或字符串表达式(使用其第一个字元),将用来建构返回字符串的特定字符。如果 character 的值为 Null,则返回 Null。注解:如果您设定 character 的数值大于 255,String 会以下面式子将之转为正确的字符码:character Mod 256(14)StrReverse 函数语法:
23、StrReverse(string1)将特定字符串的字元顺序颠倒后返回。string1 参数是要颠倒的字符串。如果 string1 的长度为零 (“),将返回一空字符串。如果 string1 是Null,将会产生错误。(15)UCase 函数语法:UCase(string)将字符串转换成大写并返回。参数 string 可以是任何字符串表达式。如果 string 所含为 Null,则返回 Null。注解:只有小写的字母会转成大写;原本大写或非字母保持不变。格式转换函数(1)CBool 函数语法:CBool(expression)该函数将参数 expression 转换为 Boolean 型并返回
24、。参数可以是任何有效的表达式。注解:如果 expression 的结果为 0 ,则返回 False;否则将返回 True。如果 expression 无法被计算成数值,将会产生执行阶段错误。VB 函数(2)CByte 函数语法:CByte(expression)该函数将参数 expression 转换为 Byte 类型并返回。参数 expression 可以是任何有效的表达式。注解:使用 CByte 来强制执行 Byte 运算,不管它是单精数、倍精数、或是整数,都可以正常执行。使用 CByte 函数可以在任何语言的版本中,让任何一种数据转换至 Byte 类型。例如,不同的小数点分隔符号,会依据
25、您系统的国别设定来做适当的确认。而千分位分隔符号也一样。若 expression 超出 Byte 资料型态允许的范围,则将会显示错误。(3)CCur 函数语法:CCur(expression)该函数将参数 expression 转换为 Currency 类型并返回。参数 expression 可以是任何有效的表达式。注解:可以使用 CCur 来强制执行 Currency 运算,以免被当作整数运算。可以使用 CCur 函数以在任何语言的版本中,让任何一种数据换至 Currency 型。例如,当使用 CCur,不同的小数点分隔符号、千分位分隔符号,和不同的货币选项,会依据您系统的国别设定来做适当的
26、确认。(4)CDate 函数语法:CDate(date)该函数将参数 date 转换为 Date 类型并返回。参数 date 是任何有效的日期表达式。注解:可以使用 IsDate 函数来检查 date 是否可以被转换成日期或时间。而 CDate 接受日期文字和时间文字以及日期/时间有效范围内的适当数值。当转换一个数字成为日期时,是将整数部分转换成日期;任何数字中的小数部分,将转换为从午夜起算的时间。CDate 是依据您系统上的国别设定来决定日期的格式。若提供的格式为不可辨识的日期设定,则无法判断日、月、年的顺序。另外,它若包含有星期的字符串,对于这样的完整日期格式也无法辨识。(5)CDbl 函
27、数语法:CDbl(expression)该函数将参数 expresion 转换为 Double 类型并返回。参数 expression 可以是任何有效的表达式。注解:可以使用 CDbl 或 CSng 来强制执行双精度或单精度运算以防止被当作货币或整数运算。(6)Chr 函数语法:Chr(charcode)VB 函数该函数返回指定参数所代表的字元。参数 charcode 是一个数值,它是用来识别某个字符。注解:0 到 31 之间的数字与一般、非列印的 ASCII 码相同。例如,Chr(10) 会返回换行(linefeed)字元。(7)CInt 函数语法:CInt(expression)该函数将参
28、数 expression 转换为 Integer 类型并返回。参数 expression 可以是任何有效的表达式。注解:可以使用 CInt 或 CLng 函数来强制执行整数运算,以免被当作货币、单精度、或双精度运算。如果 expression 超出 Integer 型允许的范围,则会发生错误。附注:CInt 函数与 Fix 及 Int 函数不同,Fix 和 Int 函数会将小数部分去除,然后返回整数值。当小数部分恰好为 0.5 时, CInt 函数会将它转换成最接近的偶数值。例如,0.5 转换成 0,而 1.5 转换成 2。(8)CLng 函数语法:CLng(expression)该函数将参数
29、 expression 转换为 Long 类型并返回。参数 expression 可以是任何有效的表达式。注解:可以使用 CInt 或 CLng 来强制执行整数运算,以免被当作货币、单精度、或双精度运算。如果 expression 超出 Long 型允许的范围,则会发生错误。附注:CLng 函数与 Fix 及 Int 函数不同,Fix 和 Int 函数会将小数部分去除,然后返回整数值。当小数部分恰好为 0.5 时, CLng 函数会将它转换成最接近的偶数值。例如,0.5 转换成 0,1.5 转换成 2。(9)CSng 函数语法:CSng(expression)该函数将参数 expression
30、 转换成 Single 类型并返回。参数 expression 可以是任何有效的表达式。注解:使用 CDbl 或 CSng 来强制执行双精度或单精度运算,以防止被当作货币或整数运算。如果 expression 超出 Single 类型允许的范围,则会发生错误。(10)CStr 函数语法:CStr(expression)该函数将参数 expression 转换为 String 类型并返回。参数 expression 可以是任何有效的表达式。(11)FormatCurrency 函数VB 函数语法:FormatCurrency(Expression,NumDigitsAfterDecimal ,I
31、ncludeLeadingDigit,UseParensForNegativeNumbers ,GroupDigits)返回一个以系统控制台中所设定的货币符号格式化的货币值表达式。FormatCurrency 函数的语法是由下列部分所组成.:Expression 为必须项,表示欲被格式化的表达式。NumDigitsAfterDecimal 为可选项,表示有多少小数位数。默认值为 -1,表示使用系统地区设定值。IncludeLeadingDigit 为可选项,以 Tristate 常数表示小数点前是否显示前导零。参阅设定值部分。UseParensForNegativeNumbers 为可选项,以
32、 Tristate 常数表示负数值是否带有括号。请参阅设定值部分。GroupDigits 为可选项,以 Tristate 常数表示数字是否以数位群组符号来分隔,其视系统地区设定而有不同。请参阅设定值部分。IncludeLeadingDigit,UseParensForNegativeNumbers 和 GroupDigits 参数有下列的设定值:常数 值 说明TristateTrue -1 TrueTristateFalse 0 FalseTristateUseDefault -2 使用系统地区设定值。注解:当某一个或多个选项参数被省略了,那么将会使用系统地区设定值。货币符号的位置是由系统地区
33、设定值决定。(12)FormatDateTime 函数语法:FormatDateTime(Date,NamedFormat)该函数返回日期或时间格式的表达式。FormatDateTime 函数的语法是由下列部分所组成:Date 为必须项。为欲格式化的日期表达式。NamedFormat 为必须项。表示所使用的日期/时间格式。若省略此参数,则使用 vbGeneralDate 。NamedFormat 参数有下列的设定值:常数 值 说明vbGeneralDate 0 显示日期和( 或) 时间。将以简短日期格式显示日期,以完整时间显示时间。可以两者皆显示。vbLongDate 1 以系统完整日期格式设
34、定值显示日期。vbShortDate 2 以系统的简短日期格式设定值显示日期。vbLongTime 3 以系统的时间格式设定值显示时间。vbShortTime 4 以 24 小时制格式(hh:mm) 显示时间。(13)FormatNumber 函数语法:FormatNumber(Expression,NumDigitsAfterDecimal ,IncludeLeadingDigitVB 函数,UseParensForNegativeNumbers ,GroupDigits)该函数返回一格式化的数字。FormatNumber 函数的语法是由下列部分所组成:Expression 必要项。欲被格式
35、化的表达式。NumDigitsAfterDecimal 为可选项。表示有多少小数位数。默认值为 -1,表示使用系统的设定值。IncludeLeadingDigit 为可选项。以 Tristate 常数表示小数点前是否“显示前导零“。UseParensForNegativeNumbers 为可选项。以 Tristate 常数表示负数值是否带有括号。GroupDigits 为可选项。以 Tristate 常数表示数字是否以“数位群组符号“来分隔.IncludeLeadingDigit,UseParensForNegativeNumbers 及 GroupDigits 参数如下设定值:常数 值 说明
36、TristateTrue -1 TrueTristateFalse 0 FalseTristateUseDefault -2 使用系统地区设定值。注解:若省略了某一个或多个选项参数,那么将会使用系统默认值。(14)FormatPercent 函数语法:FormatPercent(Expression,NumDigitsAfterDecimal ,IncludeLeadingDigit,UseParensForNegativeNumbers ,GroupDigits)该函数返回带有%符号的格式化百分比表达式(以 100 为基底)。FormatPercent 函数的语法是由下列部分所组成:Expr
37、ession 为必须项。表示欲被格式化的表达式。NumDigitsAfterDecimal 为可选项。表示有多少小数位数。默认值为 -1,表示使用系统设定值。IncludeLeadingDigit 为可选项。以 Tristate 常数表示小数点前是否“显示前导零“。UseParensForNegativeNumbers 为可选项。以 Tristate 常数表示负数值是否带有括号。GroupDigits 为可选项。以 Tristate 常数表示数字是否以“数位群组符号“来分隔。IncludeLeadingDigit,UseParensForNegativeNumbers 及 GroupDigit
38、s 参数有下列的设定值:常数 值 说明TristateTrue -1 TrueTristateFalse 0 FalseTristateUseDefault -2 使用系统地区设定值。注解:若省略了某一或多个选项参数,那么将会使用系统默认的设定值。(15)Hex 函数语法:Hex(number)VB 函数该函数将参数 number 以十六进制表示,用 String 返回。参数 number 可以是任何的数值表达式。注解:如果 number 不是一个整数,那么在执行前会先被四舍五入成最接近的整数。可以将十六进制数直接以&H 开头来表示。例如,&H10 代表十进位的 16。(16)Int、Fix
39、函数语法:Int(number)Fix(number)该函数返回参数的整数部份。参数 number 可以是任何的数值表达式。如果 number 的值为 Null,则返回 Null。注解:Int 与 Fix 都会去掉 number 的小数部分而返回剩下的整数。两个函数的不同之处在于,当 number 为负数时,Int 会返回小于或等于 number的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转成 -9,而 Fix 则将 -8.4 转成 -8。(17)Oct 函数语法:Oct(number)该函数将参数 number 以八制表示,用 S
40、tring 返回。参数 number 可为任何的数值表达式。注解:如果 number 不是整数,那么在执行前会先四舍五入成最近似的整数。返回值如下:Number 的取值 Oct 返回值Null NullEmpty 零(0)任何其他的数字 最多可到 11 个八进制数可以将八进位数字直接以&O 开头来表示。例如,&O10 代表十进位的 8。(18)val 函数语法:Val(string)返回包含于字符串内的数字,字符串中是一个适当类型的数值。注解:必要的 string 参数可以是任何有效的字符串表达式。Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和
41、字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。下面的返回值为 1615198:VB 函数Val(“ 1615 198th Street N.E.“)在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。Val(“&HFFFF“)附注:Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。日期时间函数(1)Date 函数语法:date返回当前系统日期。(2)DateAdd 函数语法:DateAdd(i
42、nterval, number, date)返回内容为某个基准日期加上或减去数个时间间隔单位后的日期。DateAdd 函数语法中有下列几部分:interval 为必须项。字符串表达式,表示所要加上去的时间间隔单位。其值请参考设定部分。Number 为必须项。数值表达式,表示要加上的时间间隔单位的次数。其数值可以为正数(可得未来日期),亦可以为负数(可得过去的日期)。Date 为必须项。可为型态为 Variant (Date) 的变数或正确表示出日期的字符串,代表基准日期,将此基准日期加上 number 次的 interval 后,即为返回值日期。参数 interval 的设定值如下:yyyy
43、表示年q 表示季m 表示月y 表示一年的日数d 表示日w 表示一周的日数ww 表示周h 表示时n 表示分s 表示秒注解:可以使用 DateAdd 函数计算基准日期加上或减去您所指定的时间间隔后的结果。例如,可以用 DateAdd 来计算从今天起三十天后或三十天前的日期是哪一天;或者计算距离现在 45 分钟前或 45 分钟后的时间。如果时间间隔是以 天 来计算,interval 参数可以是 一年的日数 (“y“),日 (“d“),或 一周的日数 (“w“)。VB 函数DateAdd 函数所返回的日期一定是有效且正确的。下面的范例以一月三十一日为基准日,计算加上一个月后的结果。NewDate =
44、DateAdd(“m“, 1, “31-Jan-95“)DateAdd 返回 28-Feb-95,而不是 31-Feb-95。如果基准日 date 是 31-Jan-96,返回值则是 29-Feb-96,因为 DateAdd 函数知道 1996 年是闰年。如果计算出来的年度超过 100,就会产生程式错误。如果 number 参数不是一个 Long 值,计算时会取最接近的整数值来计算。(3)DateDiff 函数语法:DateDiff(interval, date1, date2 ,firstdayofweek, firstweekofyear)返回两个日期间相差的时间间隔单位数目。DateDi
45、ff 函数语法中有下列几部分:interval 为必须项。字符串表达式,表示用来计算 date1 及 date2 时间差的时间间隔单位。date1, date2 为必须项。日期表达式,为要用来计算的两个日期。firstdayofweek 可选项。常数,表示一星期的第一天。如果省略此参数,则以星期日为第一天。firstweekofyear 可选项。常数,表示一年的第一周。如果省略此参数,则以包含 一月一日的星期为第一周。参数 interval 的设定值如下:yyyy 表示年q 表示季m 表示月y 表示一年的日数d 表示日w 表示一周的日数ww 表示周h 表示时m 表示分s 表示秒参数 first
46、dayofweek 的设定值如下:常数 值 说明vbUseSystem 0 使用 NLS API 设定vbSunday 1 星期日(默认值)vbMonday 2 星期一vbTuesday 3 星期二vbWednesday 4 星期三vbThursday 5 星期四vbFriday 6 星期五VB 函数vbSaturday 7 星期六参数 firstweekofyear 的设定值如下:常数 值 说明vbUseSystem 0 使用 NLS API 设定。vbFirstJan1 1 包含一月一日的星期(默认值) 。vbFirstFourDays 2 第一个至少包含此年度四天的星期。vbFirstF
47、ullWeek 3 第一个完整的星期。注解:可以使用 DateDiff 函数来决定两个日期之间的时间间隔单位数目。例如,使用 DateDiff 来计算某两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。如果想知道 date1 与 date2 相差的 日 数,interval 可以是 一年的日数 (“y“) 或 日 (“d“)。如果 interval 是 一周的日数 (“w“),DateDiff 会返回两日期间相差的周数。如果 date1 是星期一,DateDiff 会计算到 date2 为止之星期一的个数,包含 date2 但不包含 date1。不过,如果 interval 是周 (“
48、ww“),DateDiff 函数会藉由计算 date1 与 date2 之间星期天的个数,会返回两日期间的 日历周数。如果 date2 刚好是星期天,则 date2 也会被加进计数结果中;但不论 date1 是否为星期天,它都不会被算进去。如果 date1 比 date2 来得晚,DateDiff 函数返回值为负数。如果 interval 参数为 w 或 ww,firstdayofweek 参数会影响其计算结果。如果 date1 或 date2 以短式日期的格式传入日期参数,参数内所有年份若有给定,则该日期便是固定的。但是,若 date1 或 date2 以双引号括起来,且年份并未给定,则现在
49、的年份便会自动加入 date1 或 date2参数中。如此书写便可适用于不同年份而无须更改代码。但若计算十二月三十一日和来年的一月一日的年份差,DateDiff 会返回 1 表示相差一个年份,虽然实际上只相差一天而已。(4)DatePart 函数语法:DatePart(interval, date, firstdayofweek, firstweekofyear)返回指定日期的某个时间部分。DatePart 函数语法有下列几部分:interval 为必须项。字符串表达式,指定的时间间隔单位。请参阅设定部份。date 必须项。日期表达式,所要指定的日期。firstdayofweek 为可选项。常数,表示一星期的第一天。如果省略此参数,则以星期日为第一天。请参阅设定部分。firstweekofyear 可选项。常数,表示一年的第一周。如果省略此参数,则以包含一月一日的星期为第一周。参数 interval 的设定值同前面的 datadiff.注解:使用 DatePart 函数来得知某个日期的特定时间单位。例如,您可以使用 DateP