第9章处理字串和日期时间

上传人:re****.1 文档编号:569228069 上传时间:2024-07-28 格式:PPT 页数:66 大小:301KB
返回 下载 相关 举报
第9章处理字串和日期时间_第1页
第1页 / 共66页
第9章处理字串和日期时间_第2页
第2页 / 共66页
第9章处理字串和日期时间_第3页
第3页 / 共66页
第9章处理字串和日期时间_第4页
第4页 / 共66页
第9章处理字串和日期时间_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《第9章处理字串和日期时间》由会员分享,可在线阅读,更多相关《第9章处理字串和日期时间(66页珍藏版)》请在金锄头文库上搜索。

1、大学计算机基础教程TaiYuan University of Technology咸脏悟怯爬印陪渐娠粤蝉衍腑邓紫外熙眼缉近每裔农后帧苑烬扼苫论态脾第9章处理字串和日期时间第9章处理字串和日期时间第第9 9章章 处理字符串和日期时间处理字符串和日期时间 Visual Basic 程序设计教程程序设计教程遣狠毅驼鸣义碑超雍命认鹃望驻射郝务趁掩肮郝团瓷严咐褪勺开型遇题贞第9章处理字串和日期时间第9章处理字串和日期时间本章主要介绍:本章主要介绍:字符类型和字符数组字符类型和字符数组操作字符串操作字符串查找和替换字符串查找和替换字符串处理日期和时间处理日期和时间使用使用VBVB的日历控件的日历控件Mon

2、thViewMonthView诵植蹭缓憾坦锡示聪鸭组滩慢怕酞胖龙僳罗廖蓖非赢斤凶隙臆畜祥艇儿漂第9章处理字串和日期时间第9章处理字串和日期时间2Visual Basic程序设计教程 在大量的应用系统中,文本是表达和交互数在大量的应用系统中,文本是表达和交互数 据的基本类型,而文本的计算机内部表示就据的基本类型,而文本的计算机内部表示就 是字符数据类型是字符数据类型 学会运用学会运用VBVB提供的内部函数,包括比较字符提供的内部函数,包括比较字符 串和搜索字符串,以及在字符串和其他数据串和搜索字符串,以及在字符串和其他数据 类型之间的转换等类型之间的转换等谁鸯护烟绷盒染季摄怒冀屉额砚漳吉裕嚏荚齐

3、涂芬拷禾氯撂廊哑坤商腐胚第9章处理字串和日期时间第9章处理字串和日期时间3Visual Basic程序设计教程往往应用程序中需要有日期和时间的相关信息,往往应用程序中需要有日期和时间的相关信息,这就涉及到程序如何表达以及如何使用这就涉及到程序如何表达以及如何使用 合适的格式表达程序中对日期时间的处理要合适的格式表达程序中对日期时间的处理要 求求 碑琴日专舵俐床礼泼剐振绦肪交冤亲涎梅剔姻览歼梆环入语裕瘫哩澜逛阀第9章处理字串和日期时间第9章处理字串和日期时间4Visual Basic程序设计教程 【例【例9-19-1】一个简单的一个简单的示例程序,把给出的字符示例程序,把给出的字符进行加密,然后

4、再解密,进行加密,然后再解密,程序界面如图所示程序界面如图所示: : 额肛吮钓木弛皮昧皑诗疯疏暇陷赫算斗某舍剖数假斋善千划波移妒夏肯竖第9章处理字串和日期时间第9章处理字串和日期时间5Visual Basic程序设计教程 Dim Str1 As String, Str2 As String Dim Str1 As String, Str2 As String Option Compare Text Option Compare Text Private Sub CmdEncrypt_Click() Private Sub CmdEncrypt_Click() Dim N As Byte, Co

5、unt As Integer Dim N As Byte, Count As Integer Text2.Text = Text2.Text = N = Len(Text1.Text) N = Len(Text1.Text) For Count = 1 To N For Count = 1 To N Str1 = Mid(Text1.Text, Count, 1) Str1 = Mid(Text1.Text, Count, 1) If (Count Mod 2) = 0 Then If (Count Mod 2) = 0 Then Text2.Text = Text2.Text & ChrW(

6、AscW(Str1) + 2) Text2.Text = Text2.Text & ChrW(AscW(Str1) + 2) Else Else Text2.Text = Text2.Text & ChrW(AscW(Str1) + 1) Text2.Text = Text2.Text & ChrW(AscW(Str1) + 1) End If End If Next Next End Sub End SubPrivate Sub Form_Load()Private Sub Form_Load() Label1.Caption = Label1.Caption = 请输入:请输入: Labe

7、l2.Caption = Label2.Caption = 加密后输出:加密后输出: Label3.Caption = Label3.Caption = 解密后输出解密后输出 Text1.Text = Text1.Text = Text2.Text = Text2.Text = Text3.Text = Text3.Text = End SubEnd Sub擅戮偶死诺链璃嗅伺膊辉狮精贝颖脖侥肿示壹均蕊赊蜘全她镣狮棠稚何谅第9章处理字串和日期时间第9章处理字串和日期时间6Visual Basic程序设计教程Private Sub CmdUncoil_Click()Private Sub CmdU

8、ncoil_Click() Dim N As Byte, Count As Integer Dim N As Byte, Count As Integer Text3.Text = Text3.Text = N = Len(Text2.Text) N = Len(Text2.Text) For Count = 1 To N For Count = 1 To N Str1 = Mid(Text2.Text, Count, 1) Str1 = Mid(Text2.Text, Count, 1) If Count Mod 2 = 0 Then If Count Mod 2 = 0 Then Text

9、3.Text = Text3.Text & ChrW(AscW(Str1) - 2) Text3.Text = Text3.Text & ChrW(AscW(Str1) - 2) Else Else Text3.Text = Text3.Text & ChrW(AscW(Str1) - 1) Text3.Text = Text3.Text & ChrW(AscW(Str1) - 1) End If End If Next Next End SubEnd Sub逗应撤懊盆辛疹零爹情篓婉挑一臼濒酶寺熙茁忱锣士遏辗痪舆莹牛敬挎癌第9章处理字串和日期时间第9章处理字串和日期时间7Visual Basi

10、c程序设计教程本节在小结前述章节的有关字符数据类型的基础本节在小结前述章节的有关字符数据类型的基础上,进一步介绍有关字符运算、字符数组和实现。上,进一步介绍有关字符运算、字符数组和实现。各种字符操作和字符转换、类型转换的各种字符操作和字符转换、类型转换的VBVB函数。函数。 眺燕旦辗沾水圈纺忘粳朵纂沮墟烹傲侥宙猛物激踞足挛腰虑矿铡铡家怀睡第9章处理字串和日期时间第9章处理字串和日期时间8Visual Basic程序设计教程9.3.1 字符和字符串字符和字符串1 1字符数据类型字符数据类型VBVB的字符类型数据支持两种格式,一种是定长,另一种是的字符类型数据支持两种格式,一种是定长,另一种是不定

11、长。如:不定长。如:Dim Str1 As StringDim Str1 As StringDim Str2 As String * Dim Str2 As String * 长度数值长度数值在在VBVB中,变长字符串最多可包含大约中,变长字符串最多可包含大约2020亿亿(231)(231)个字符,个字符,而定长字符串可包含而定长字符串可包含1 1到大约到大约 64K(216) 64K(216)个字符。个字符。咐蟹乘庸秆蝎窘役犊灾钾炙龙型抖偏降幂盏颗炒敷岔受夺窥滑眼苛挟扇待第9章处理字串和日期时间第9章处理字串和日期时间9Visual Basic程序设计教程2 2字符连接运算字符连接运算VBV

12、B使用符号使用符号“& &” 和和“+ +”连接字符串形成更大的连接字符串形成更大的字符串。字符串。(1 1)如果连接运算符的两边都是字符型数据,这两个符号都可以使)如果连接运算符的两边都是字符型数据,这两个符号都可以使用。用。(2 2)如果把不同类型的数据连接为字符串,使用连接符)如果把不同类型的数据连接为字符串,使用连接符“& &”。建。建议使用议使用“& &”连接符,可以避免出现类型不匹配的错误。例:连接符,可以避免出现类型不匹配的错误。例:Str1 = Str1 = “HellHell”+ + “ World World” Str1 Str1中的字符为中的字符为 “Hello Worl

13、dHello World”Str1 =Str1 =”HelloHello” + 2 + 2 运行时产生,类型不匹配错误,应该使用运行时产生,类型不匹配错误,应该使用& & 代替代替这苇汛锁昭锚卡扣急纪亿械抉贺栏瓦吹彰毖喧笆瓣涉附直淹耻道釉嘻诈尼第9章处理字串和日期时间第9章处理字串和日期时间10Visual Basic程序设计教程9.3.2 比较字符比较字符1 1使用比较运算符使用比较运算符 理解一个字符理解一个字符“大于大于”、“小于小于”或者或者“等等 于于”的含义,是考虑字符在字符表中位置后决的含义,是考虑字符在字符表中位置后决 定的。它们按照定的。它们按照ASCIIASCII码对字符进

14、行排序,然后码对字符进行排序,然后 比较它们的代码值的大小决定比较结果。比较它们的代码值的大小决定比较结果。 项装担请灸虑扦禽甥煞拦仆池孟物蚌岳绊庭而钎翠朵宛脂近禄貉挂吃农庇第9章处理字串和日期时间第9章处理字串和日期时间11Visual Basic程序设计教程Dim Str1 As String, Str2 As StringDim Str1 As String, Str2 As String Str1 = A: Str2 = B Str1 = A: Str2 = B Print Str1 = Str2 Print Str1 = Str2 比较结果为比较结果为FalseFalse,因为字符,

15、因为字符 “A A”和和“B B”不相等不相等 Print Str1 = Str2 Print Str1 Str2 Print Str1 Str2 比较结果为比较结果为TrueTrue,因为,因为 “abcabc” “VB6VB6”成立成立 Print Str1 Str2 Print Str1 Str2 比较结果为比较结果为FalseFalse,因为,因为 “abcabc” “VB6VB6”不成立不成立 菊霉遍载锈擅娥济衍跑膜萝参频召啃爸沮刮谐告惰甚酒稿迢破翱绸吩丰沙第9章处理字串和日期时间第9章处理字串和日期时间12Visual Basic程序设计教程2 2StrCompStrComp函数函

16、数 函数函数StrCompStrComp用来比较两个字符串,并返回比较用来比较两个字符串,并返回比较结果。使用格式为:结果。使用格式为:StrComp(String1, String2, StrComp(String1, String2, CompareType)CompareType)比较结果的返回值如下比较结果的返回值如下 :条件条件StrComp StrComp 返回返回值值string1 string1 小于小于 string2 string2-1-1string1 string1 等于等于 string2 string20 0string1 string1 大于大于 string2

17、string21 1string1 string1 或或 string 2 string 2为为 Null NullNullNull籍矩免德牙狸意庄蛋暗晕遮疲拿缓耙滁料盆孕橇扯锥缕窑溃松活告碧烽舱第9章处理字串和日期时间第9章处理字串和日期时间13Visual Basic程序设计教程CompareTypeCompareType参数意义如下表所示:参数意义如下表所示: 常数常数值值描述描述vbUseCompareOption-1使用使用Option Compare语语句句设设置置执执行一个比行一个比较较vbBinaryCompare0执执行一个二行一个二进进制比制比较较。vbTextCompar

18、e1执执行一个按照原文的比行一个按照原文的比较较。vbDatabaseCompare2仅仅适用于适用于Microsoft Access,执执行一个基于数据行一个基于数据库库信息的比信息的比较较。紧缩剐让合日冷删偏母尹堰售混褪碱貉萤普睹坤尾戌牢村莹侯搪保观疙深第9章处理字串和日期时间第9章处理字串和日期时间14Visual Basic程序设计教程9.3.3 String函数和函数和Str函数函数1 1StringString函数函数使用格式:使用格式:String(Number, Character)String(Number, Character)函数执行后按创建长度返回重复字符的字符串,函数

19、执行后按创建长度返回重复字符的字符串,其中,其中,NumberNumber给出所创建的字符串长度。参数给出所创建的字符串长度。参数CharacterCharacter是一个字符(或是一个字符(或AsciiAscii码)或字符串表码)或字符串表达式,但只使用它的第一个字符创建新的字符串,达式,但只使用它的第一个字符创建新的字符串,如果如果CharacterCharacter包含了包含了NullNull就返回就返回NullNull。 冯霍杏巍之许皋吟缝塔欧剖杏币揭囤岿啊掠俗拄淡棒灯督燎摧基癸埠枚巳第9章处理字串和日期时间第9章处理字串和日期时间15Visual Basic程序设计教程 例:例:Di

20、m str1 as string, str2 as Dim str1 as string, str2 as string ,str3 string ,str3 Str1 = String(5, Str1 = String(5, “* *”) ) 返回返回 * *。 Str2 = String(5, 42) Str2 = String(5, 42) ASCII ASCII 码码4242的字符为的字符为*,*,返回返回 * *。 Str3 = String(10, Str3 = String(10, “ABCABC” + Null) + Null) 返返 回回 Null Null。壮篮神罗氮斑瓷柳

21、哭劲存苗失污虑崇搞惦麦谓验唬哨秧慨语肄几踢茸筹蜂第9章处理字串和日期时间第9章处理字串和日期时间16Visual Basic程序设计教程2 2StrStr函数函数函数函数StrStr把一个数值转换为把一个数值转换为Variant (String)Variant (String)类类型。它的使用格式为:型。它的使用格式为:Str(Number)Str(Number)例:例: Str1 = Str$(123.5) Str1 = Str$(123.5) Str2 = Str(-123.5) Str2 = Str(-123.5) Print Str1,Str2 Print Str1,Str2 输出输出

22、 123.5 123.5,-123.5 -123.5 注意字符串前有一个空格注意字符串前有一个空格和符号位和符号位昂屡晦卵鸳独绿触国估殴釉旷察罕涪钦奥端佩嗣针谬瞎耪江邱锋况酌寝瑰第9章处理字串和日期时间第9章处理字串和日期时间17Visual Basic程序设计教程9.3.4 字符数组字符数组 字符数组就是数组中的元素都是字符串的数组,字符数组就是数组中的元素都是字符串的数组,使用使用StringString定义字符数组。有关字符串数组操作定义字符数组。有关字符串数组操作的三个函数如下:的三个函数如下:1 1JoinJoin函数函数JoinJoin函数连接某个函数连接某个数组数组中的多个子字符

23、串而创建中的多个子字符串而创建一个新的字符串。函数格式为:一个新的字符串。函数格式为: Join(List, Delimiter) Join(List, Delimiter) 野王灵雨列莎将睬错轰穴厘竞追颅丹荡湛刽嘘手泰袱篮易魂垦娱廷疟陷技第9章处理字串和日期时间第9章处理字串和日期时间18Visual Basic程序设计教程 其中参数其中参数ListList指出被连接的字符数组指出被连接的字符数组DelimiterDelimiter是可选参数,在返回字符串中用于是可选参数,在返回字符串中用于分隔子字符串的字符。默认使用空格分隔子字符串的字符。默认使用空格 来分来分隔子字符串。如果隔子字符串。

24、如果DelimiterDelimiter是零长度字符串是零长度字符串,所有元素项都连接在一起,中间没有分隔,所有元素项都连接在一起,中间没有分隔符。符。沮爆舵返巴惫究睦毅矿衣哨及谴拒祝谷唾盎倡捆削幂郎牟绩顾痢秩小尔颐第9章处理字串和日期时间第9章处理字串和日期时间19Visual Basic程序设计教程例如:例如: Dim StrA(2) As String, Str1 As String Dim StrA(2) As String, Str1 As String StrA(0) = StrA(0) = 欢迎来到欢迎来到 StrA(1) = Visual StrA(1) = Visual St

25、rA(2) = Basic 6 StrA(2) = Basic 6 Str1 = Join(StrA) Str1 = Join(StrA)连接字符数组连接字符数组StrAStrA中三个字符串中三个字符串芒苞趋街然码清颠委瘫荐想租韶漏质盖撂伤沿益名宗婪化骸亨沧傅嘴绘囱第9章处理字串和日期时间第9章处理字串和日期时间20Visual Basic程序设计教程2 2SplitSplit函数函数 给定一个字符串,可以使用给定一个字符串,可以使用SplitSplit函数创建一个函数创建一个一维一维数组数组,它包含指定数目的子字符串。函数格式,它包含指定数目的子字符串。函数格式为:为:Split( Stri

26、ngExpress, Delimiter, Count, CompareType)Split( StringExpress, Delimiter, Count, CompareType)StringExpressStringExpress必需参数,字符串表达式。如果表达式的必需参数,字符串表达式。如果表达式的长度度为零即零即为”,SplitSplit返回一返回一个空数个空数组,即没有元素和数据的数,即没有元素和数据的数组DelimiterDelimiter可可选参数,参数,标识子字符串子字符串边界字符。默界字符。默认空格字符空格字符 为分隔符。如果分隔符。如果该参数是空字符参数是空字符“”“”

27、,则返回数返回数组仅包含一个元素,即包含一个元素,即StringExpressStringExpress字符串字符串CountCount可可选参数,指定返回的子字符串数,参数,指定返回的子字符串数,1 1表示返回所有的子字符串表示返回所有的子字符串CompareTypeCompareType可可选参数,用数字参数,用数字值表示判表示判别子字符串子字符串时使用的比使用的比较方式。意方式。意义同表同表9.19.1激潜贿苯棘甲令欣计季漾酚攫骨谬棘甥声哺折代谁疚镀枯朋岭嗣谣兴儡芽第9章处理字串和日期时间第9章处理字串和日期时间21Visual Basic程序设计教程【例【例9-29-2】使用】使用Sp

28、litSplit函数。程序执行后的显示如图函数。程序执行后的显示如图所示。程序代码如下:所示。程序代码如下: Private Sub Form_Load() Private Sub Form_Load() Dim x() As String Dim x() As String Dim y As String, n As Integer Dim y As String, n As Integer Show Show y = Welcome To Visual Basic 6 ! y = Welcome To Visual Basic 6 ! x = Split(y) x = Split(y) F

29、or n = LBound(x) To UBound(x) For n = LBound(x) To UBound(x) Print & x(n) Print & x(n) Next Next End Sub End Sub 胁胀敷骇锣肤亥扼损帮律损汉尝廖肺疵及裴秆就黎请挫淫巫叁夷莫拂瞎牲第9章处理字串和日期时间第9章处理字串和日期时间22Visual Basic程序设计教程3 3FilterFilter函数。函数。从一个已知数组中搜索指定的字符串,可以使用从一个已知数组中搜索指定的字符串,可以使用FilterFilter函数函数 ,ilterilter函数的格式为:函数的格式为: Filte

30、r(StringsArray, Value, Include, CompareType)Filter(StringsArray, Value, Include, CompareType)StringsArrayStringsArray必需参数,被必需参数,被执执行搜索的一行搜索的一维维字符串数字符串数组组ValueValue必需参数,要搜索的字符串必需参数,要搜索的字符串IncludeInclude可可选选参数,参数,BooleanBoolean值值。TrueTrue返回的是包含返回的是包含ValueValue子字符串的数子字符串的数组组子集。子集。FalseFalse则则返回的是返回的是不包

31、含不包含ValueValue子字符串的数子字符串的数组组子集子集CompareTypeCompareType可可选选的数字的数字值值,表示所使用的比,表示所使用的比较类较类型,意型,意义义同表同表9.19.1勉熙獭健尚慢傍雇痘滴哇蝇鸣适眉酞阉霍贝瞅如斋捧咀忆窝诞柜衍筷锦牧第9章处理字串和日期时间第9章处理字串和日期时间23Visual Basic程序设计教程【例【例9-3】请从数组】请从数组A中选出包中选出包 括括“VB” 和不包括和不包括 “VB” 的的元元 素。素。 程序执行后的显示如图所示。程序执行后的显示如图所示。 下抵事龙泛育碎琴签氰诺纵溉财薪陪官桨挽招混捡汗阀膘父艰姓刻痉互吊第9章

32、处理字串和日期时间第9章处理字串和日期时间24Visual Basic程序设计教程Private Sub Form_Load()Private Sub Form_Load() Show Show Dim A(6) As String, B() As String, C() As String Dim A(6) As String, B() As String, C() As String A(0) = C: A(1) = VB6: A(2) = C+ A(0) = C: A(1) = VB6: A(2) = C+ A(3) = Jave: A(4) = VB5: A(5) = MS.Net A

33、(3) = Jave: A(4) = VB5: A(5) = MS.Net Print Print 数组数组 A A 中所有的字符串元素有:中所有的字符串元素有: Call Prt(A) Call Prt(A) B() = Filter(A, VB) B() = Filter(A, VB) Print Print 数组数组A A中包含有中包含有VBVB字符的元素有:字符的元素有: Call Prt(B) Call Prt(B) C() = Filter(A, VB, False) C() = Filter(A, VB, False) Print Print 数组数组A A中不包含中不包含VBV

34、B字符的元素有:字符的元素有: Call Prt(C) Call Prt(C)End SubEnd SubPrivate Sub Prt(m() As String) For n = 0 To UBound(m) Print & m(n) Next PrintEnd Sub捅唯辽谊定面蝇历哈劲郴刻祥匣玲付嗜穿莫哨杖扯骇使鼻谆爽咸渭贿芍酵第9章处理字串和日期时间第9章处理字串和日期时间25Visual Basic程序设计教程 本节给出本节给出VBVB处理字符串的常用操作,如取处理字符串的常用操作,如取单个字符、取其中指定的字符、去除字符串中的单个字符、取其中指定的字符、去除字符串中的空格和转换函

35、数。空格和转换函数。夜惩翱廉炬侧钒峰囱工琐庞绒嫉悬帜驰尽妆轰竹怔铂毁痴片浇消陀伊岸脚第9章处理字串和日期时间第9章处理字串和日期时间26Visual Basic程序设计教程9.4.1 Like运算符运算符 比较运算符比较运算符LikeLike用于比较字符串。用于比较字符串。LikeLike返回一个返回一个逻辑值:逻辑值:TrueTrue表示被比较的两个字符串相匹配,表示被比较的两个字符串相匹配,FalseFalse表示不匹配。使用格式为:表示不匹配。使用格式为:Result = Result = String1 Like PatternString1 Like Pattern VBVB根据模式

36、匹配可以使用通配符来匹配字符串。根据模式匹配可以使用通配符来匹配字符串。也就是说使用也就是说使用WindowsWindows中的中的? ?、* *和三个匹配符:和三个匹配符:?表示任何单一字符,?表示任何单一字符,* *表示零个或多个字表示零个或多个字吴侵胁枉阂诧肿眯夸锤鲤标哑皇仅替脑仿陪硝休异郭桩猜旨穿昨身糖约橇第9章处理字串和日期时间第9章处理字串和日期时间27Visual Basic程序设计教程 * *表示零个或多个字表示零个或多个字符,符,# #表示任何一个数字表示任何一个数字 (0 (09)9)。例如有。例如有Str1= Str1= “Hello WorldHello World”,

37、则表达式,则表达式 Str1 Like Str1 Like “Hello WorldHello World” Str1 Like Str1 Like “Hello* Hello* ” Str1 Like Str1 Like “Hello? Hello? ” 返回的结果为都为返回的结果为都为TrueTrue。 欣既楷诌缘灵锥捧拉魁涨缮呛啼酌紫惭遵茸硒拷矿蚀掌侯族载狼梭熏栏艘第9章处理字串和日期时间第9章处理字串和日期时间28Visual Basic程序设计教程9.4.2 使用使用Mid操作字符串中的字符操作字符串中的字符操作字符串中的单个或者多个字符,一般情况下使用操作字符串中的单个或者多个字符

38、,一般情况下使用MidMid函函数或者数或者MidMid语句。关键字语句。关键字MidMid在在VBVB中既是函数也是语句中既是函数也是语句 。1MidMid函数函数 Mid Mid函数的格式如下:函数的格式如下:Mid(String1, Start, Length)Mid(String1, Start, Length) 参数参数String1String1是被操作的字符串,是被操作的字符串,StartStart为一个数字,指为一个数字,指示从示从String1String1中的字符起始位置,中的字符起始位置,LengthLength是可选参数,指是可选参数,指示要返回的字符数,如果不指定则从

39、示要返回的字符数,如果不指定则从StartStart开始往后的所开始往后的所有字符。例如:有字符。例如:Mid(Mid(“HelloHello”, 2,1) , 2,1) 返回字符返回字符e e 个掏很伙舅擒辩厦浇涟慷韧持告洼沫神舒盟弟虐克祖岿赐汐行叠挤库劣存第9章处理字串和日期时间第9章处理字串和日期时间29Visual Basic程序设计教程2 2MidMid语句语句 Mid Mid是作为语句使用,是作为语句使用,MidMid出现在赋值号的左边,格式出现在赋值号的左边,格式 为:为:MidMid(String1String1,Start , LengthStart , Length)= S

40、tring2= String2 用用String2String2字符串代替字符串代替String1String1从从StartStart位置开始的字位置开始的字 符,可选参数符,可选参数LengthLength为替换的长度。注意,字符串为替换的长度。注意,字符串 String2 String2的长度总是小于等于的长度总是小于等于LengthLength。假设我们已经定。假设我们已经定 义了义了MyStr = Visual BasicMyStr = Visual Basic,则:,则: Mid(Str1, 8) = C+ Mid(Str1, 8) = C+ 执行的结果使得执行的结果使得Str1S

41、tr1中的字符串为中的字符串为“Visual Visual C+ C+ ”( (包括后面的两个空格包括后面的两个空格) )。仗装长音俄煞询戮饭晒仪浆瓦凉彩浮策挠铣姚囚政郁动围冒语右刁辽融绣第9章处理字串和日期时间第9章处理字串和日期时间30Visual Basic程序设计教程9.4.3 使用使用Left、Right和和InStr操作字符串操作字符串 1Left函数使用使用Left函数选择字符串左边起到指定位置的部分。函数选择字符串左边起到指定位置的部分。 例如:例如: Str1 = “Visual Basic” Str2 = Left(Str1,6) 2Right函数使用使用Right函数选择

42、字符串的右边部分。例如:函数选择字符串的右边部分。例如: Str1 = “Visual Basic” Str2 = Rightt(Str1,5) 熔栋声毗雷庶铝癸没谩栅炊晓丽稳慢车抗獭蓬判尉饿碴哨湛挫现您寇袍哈第9章处理字串和日期时间第9章处理字串和日期时间31Visual Basic程序设计教程3 3InStrInStr函数函数使用格式为:使用格式为:InStr(Start, String1, String2)InStr(Start, String1, String2) 可选参数可选参数StartStart为开始进行搜索的位置,默认为为开始进行搜索的位置,默认为1 1表示从头表示从头开始。开

43、始。String1String1为基字符串,为基字符串,String2String2为搜索字符串,为搜索字符串,InStrInStr在在String1String1中搜索是否包含中搜索是否包含String2String2字符串。返回结字符串。返回结果为数字果为数字,0,0表示没有找到表示没有找到, ,非非0 0表示返回表示返回String2String2在在String1String1中出现的第一个起始位置中出现的第一个起始位置 假设假设Str1=Str1=”Visual BasicVisual Basic”,Str2=Str2=”BasicBasic”,则执,则执行语句:行语句: InStr

44、 InStr(Str1Str1,Str2Str2) 返回的结果为返回的结果为8 8,表示,表示“BasicBasic”在在“Visual BasicVisual Basic”中的位置为中的位置为8 8。掂庸铸次芜率浑斌折画卢液另烷婶击鸿废办艳盟扑嚼讳韵琐将摹雄挟沽荫第9章处理字串和日期时间第9章处理字串和日期时间32Visual Basic程序设计教程9.4.4 删除多余的空格删除多余的空格 使用使用LTrimLTrim、RTrimRTrim与与TrimTrim函数得到一个字符串的函数得到一个字符串的拷贝,删除前导空格拷贝,删除前导空格 (LTrim) (LTrim)、删除尾随空格、删除尾随空

45、格 (RTrim)(RTrim)。TrimTrim函数将两头空格全部去除,但不函数将两头空格全部去除,但不删除中间的空格。删除中间的空格。 例例: :Dim MyString, TrimStringDim MyString, TrimString MyString = VB6 MyString = VB6 TrimString = LTrim(MyString) TrimString = VB6 TrimString = LTrim(MyString) TrimString = VB6 TrimString = RTrim(MyString) TrimString = VB6TrimStrin

46、g = RTrim(MyString) TrimString = VB6 TrimString = Trim(MyString) TrimString = Trim(MyString) TrimString = VB6 TrimString = VB6菊费仍噎羡散魄摘牛椰纺飘共伺邹蜡倾酬甸戳烧典滦僚隋却面数驻簧彝丢第9章处理字串和日期时间第9章处理字串和日期时间33Visual Basic程序设计教程9.4.5 转换函数转换函数1 1AscAsc和和ChrChr函数函数AscAsc是取一个字符的是取一个字符的ASCIIASCII码的函数码的函数; ; Asc Asc函数对单个的字符计算,如果给

47、出的字符多于函数对单个的字符计算,如果给出的字符多于一个,它计算第一个字符的一个,它计算第一个字符的ASCIIASCII值。值。例如:例如:Asc(”a”) 得到的值为得到的值为97 Chr是是Asc的逆函数,它将一个数值转换为对应的字符,例如的逆函数,它将一个数值转换为对应的字符,例如 Chr(97)返回的就是字母返回的就是字母a。Chr(13)和和Chr(10)就分别代表回车就分别代表回车 和换行。和换行。肝里蒋昼昭密吼隋徒斯炒蜀豹溪绵茂溃凝弛灿悟畸梗彤居苏硝剥姓隙抉焊第9章处理字串和日期时间第9章处理字串和日期时间34Visual Basic程序设计教程2 2转换大小写转换大小写函数函数

48、UCaseUCase和和LCaseLCase分别将字符串的字母转换为大分别将字符串的字母转换为大写或小写。它们的使用方法比较简单:写或小写。它们的使用方法比较简单: UCase(StringExpress)UCase(StringExpress) LCase(StringExpress) LCase(StringExpress) 其中,其中,StringExpressStringExpress可以是字符串或者是字符可以是字符串或者是字符串表达式。例如串表达式。例如Str1 = Visual Basic 6Str1 = Visual Basic 6,则:,则: StrResult = UCase

49、(Str1) StrResult = UCase(Str1) StrResult = StrResult = ”VISUAL BASIC 6VISUAL BASIC 6” StrResult = LCase(Str1) StrResult = LCase(Str1) StrResult = StrResult = “visual basic 6visual basic 6”绷苟解森汞玫珍娶巨旺佐拘把兑酗拂龋挣闲朽诱架漓勃贞毅醇憨皱割怒计第9章处理字串和日期时间第9章处理字串和日期时间35Visual Basic程序设计教程3 3IsNumbericIsNumberic和和ValValIsNum

50、ericIsNumeric判断一个字符串是否可以被完整地转换为数字,判断一个字符串是否可以被完整地转换为数字,例如:例如:Print IsNumeric(Print IsNumeric(“123.456123.456”) ) 执行后输出为执行后输出为TrueTrue,Print IsNumeric(123A.456) Print IsNumeric(123A.456) 执行后的输出则为执行后的输出则为FalseFalse。其他的判断类型的函数还有其他的判断类型的函数还有IsStrIsArrayIsStrIsArray判断变判断变量是否为一个数组,量是否为一个数组,IsEmpty IsEmpty

51、 函数判断变量是否函数判断变量是否已经初始化,已经初始化,IsErrorIsError函数判断表达式是否为一函数判断表达式是否为一个错误值。个错误值。IsNullIsNull函数判断表达式是否不包含任函数判断表达式是否不包含任何有效数据何有效数据 (Null) (Null),IsObjectIsObject函数判断标示符函数判断标示符是否表示对象变量等,它们返回的都是布尔值。是否表示对象变量等,它们返回的都是布尔值。种撒箱格姚采孺炒搂扦姿暇勿乍积佃滚署矾嫉掐姚癸露伞咎呕老渭儿席乞第9章处理字串和日期时间第9章处理字串和日期时间36Visual Basic程序设计教程ValVal的函数的使用格式

52、为:的函数的使用格式为: Val(StringExpress) Val(StringExpress)把字符串表达式把字符串表达式StringExpressStringExpress转换为数字,按以转换为数字,按以 下规则:下规则:(1 1)如果)如果StringExpressStringExpress是由数符组成(包括小是由数符组成(包括小 数点),则返回一个转换的数字值。数点),则返回一个转换的数字值。(2 2)如果)如果StringExpressStringExpress中的数符含有空格,忽中的数符含有空格,忽 略空格。略空格。 越枫撤凹温谬孺厨库兰揉跟冒出澳燎笼跌社肚拽坛惺樱付譬秃悍撤各

53、东荒第9章处理字串和日期时间第9章处理字串和日期时间37Visual Basic程序设计教程 (3 3)如果)如果StringExpressStringExpress含有数字和字母等其他含有数字和字母等其他符号,只转换最前符号,只转换最前 面的数字部分。面的数字部分。例:例:MyValue = Val(MyValue = Val(“24572457”) ) 返回返回 2457 2457。 MyValue = Val( MyValue = Val(“ 2 45 7 2 45 7”) ) 返回返回 2457 2457。 MyValue = Val(24 and 57) MyValue = Val(

54、24 and 57) 返回返回 24 24。 鸳跑券卉泞加症单互岁蚜税王亚欧贵侠烘臃力征配咒户潮色姥抛磕鱼俭淳第9章处理字串和日期时间第9章处理字串和日期时间38Visual Basic程序设计教程4 4HexHex和和OctOct Hex Hex和和OctOct是将一个数值型或字符型表达式转换是将一个数值型或字符型表达式转换为十六进制和八进制数。例如:为十六进制和八进制数。例如:Print Hex(123)Print Hex(123) Print Oct(123) Print Oct(123)分别输出十六进制数分别输出十六进制数7B7B和八进制数和八进制数173 173 稳污颓单容仰消涪汝悸

55、拳鹿厢狙藉艇卸沼洲坚白拈塑先敷骋歧梯窒薛曹唆第9章处理字串和日期时间第9章处理字串和日期时间39Visual Basic程序设计教程函数函数返回类型返回类型Expression Expression 参数范围参数范围CBool CBool BooleanBoolean任何有效的字符串或数值表达式。任何有效的字符串或数值表达式。CByte CByte ByteByte0 0 至至 255 255。CCurCCurCurrencyCurrency-922,337,203,685,477.5808-922,337,203,685,477.5808至至922,337,203,685,477.58079

56、22,337,203,685,477.5807。CDateCDateDateDate任何有效的日期表达式,如任何有效的日期表达式,如#05-12-31#05-12-31#。CDblCDblDouble Double 负数从负数从-1.79769313486232E308-1.79769313486232E308至至 -4.94065645841247E-324 -4.94065645841247E-324;正数从;正数从4.94065645841247E-3244.94065645841247E-324至至1.79769313486232E3081.79769313486232E308。CDe

57、cCDecDecimalDecimal零变比数值,即无小数位的数值为零变比数值,即无小数位的数值为: +/-79,228,162,514,264,337,593,543,950,335: +/-79,228,162,514,264,337,593,543,950,335。对于对于 28 28 位小数的数值,范围则为:位小数的数值,范围则为:+/-7.9228162514264337593543950335+/-7.9228162514264337593543950335;最小的可能非零值是最小的可能非零值是 0.0000000000000000000000000001 0.0000000000

58、000000000000000001。CIntCIntIntegerInteger-32,768 -32,768 至至 32,767 32,767,小数部分四舍五入。,小数部分四舍五入。CLngCLngLongLong-2,147,483,648 -2,147,483,648 至至 2,147,483,647 2,147,483,647,小数部分四舍五入。,小数部分四舍五入。CSngCSngSingleSingle负数为负数为 -3.402823E38 -3.402823E38 至至 -1.401298E-45 -1.401298E-45;正数为正数为 1.401298E-45 1.40129

59、8E-45 至至 3.402823E38 3.402823E38。CStrCStrStringString依据依据 Expression Expression 参数返回参数返回 Cstr Cstr。CVarCVarVariantVariant若为数值,则范围与若为数值,则范围与DoubleDouble相同;若为非数值则范围与相同;若为非数值则范围与String String 相同。相同。9.4.6 其它类型转换函数其它类型转换函数娱持斑阐螺剑摄钳曾教傻魔慕撬泄膳于姻诺垦鞋谗类案葬但挤横海变迟冻第9章处理字串和日期时间第9章处理字串和日期时间40Visual Basic程序设计教程9.4.7 格

60、式化函数格式化函数Format Format Format函数的使用格式为:函数的使用格式为:Format(Expression, format)Format(Expression, format) 其中,表达式其中,表达式ExpressionExpression可以为任何有效表可以为任何有效表达式,而可选参数达式,而可选参数FormatFormat为指定的格式表达式。为指定的格式表达式。格式可以是格式可以是VBVB预先定义的,也可以是用户定义的。预先定义的,也可以是用户定义的。可使用可使用VBVB预定义名字来指定这些格式,如表预定义名字来指定这些格式,如表9.39.3所示。数字格式可以由用户

61、指定,如表所示。数字格式可以由用户指定,如表9.49.4所示。所示。格式名总是用双引号格式名总是用双引号括起来。括起来。谤耽燕柔彭裳蒂署焕努囱齿静恃多恋煮酝毗婪程俏擎呸境伶玻诚蚁兽蔼鸟第9章处理字串和日期时间第9章处理字串和日期时间41Visual Basic程序设计教程例:例:Num1 = 123456789.34567Num1 = 123456789.34567 Print Format(Num1, Print Format(Num1, “CurrencyCurrency”) ) 显示显示 ¥123,456,789.35123,456,789.35 Print Format(0.154,

62、Percent) Print Format(0.154, Percent) 显示显示15.4%15.4% Print Format(1, On/Off) Print Format(1, On/Off) 显示显示 On On Format(8315.4, Format(8315.4, “00000.0000000.00”) ) 显示显示08315.4008315.40 Format(8315.4, Format(8315.4, “#.#.#”) ) 显示显示8315.48315.4 Format(8315.4, Format(8315.4,“#,#0.00#,#0.00”) ) 显示显示8,31

63、5.408,315.40 Format(315.4, Format(315.4,“$#0.00$#0.00”) ) 显示显示 $315.40 $315.40咳殴瞬技战厕召壁绳迭光儿腥趣借裹斟幢富植赢需秩聘力阿衷揉嘿潞坪职第9章处理字串和日期时间第9章处理字串和日期时间42Visual Basic程序设计教程9.4.8 Len函数和函数和Space函数函数 1 1LenLen函数函数 函数执行后返回一个函数执行后返回一个LongLong型值,指示字符串内字型值,指示字符串内字符的数目,或是存储一变量所需的字节数。使用符的数目,或是存储一变量所需的字节数。使用格式为:格式为:Len(string

64、| varname)Len(string | varname) 例:例: dim x as stringdim x as string x= x=“abcdabcd” print len(x) print len(x) 显示显示4 4 dim x as integer dim x as integer x=12345 x=12345 print len(x) print len(x) 显示显示2 2波檀皿懒柄勃优峙颐呛痛芭瓷再砚熔份缩肆沃舌注眯象骚来酸硫怖肠朱睦第9章处理字串和日期时间第9章处理字串和日期时间43Visual Basic程序设计教程2 2SpaceSpace函数函数执行执行Sp

65、aceSpace函数返回特定数目空格。使用格式为:函数返回特定数目空格。使用格式为: Space(number)Space(number) 其中所必须的其中所必须的numbernumber参数为字符串中想要的空参数为字符串中想要的空格数。例如:格数。例如: Dim MyString Dim MyString MyString = Space(10) MyString = Space(10) 返回返回 10 10 个空格的字符串。个空格的字符串。 MyString = Hello & MyString = Hello & Space(10) & WorldSpace(10) & World 将将

66、 10 10 个空格插入两个字符串中间。个空格插入两个字符串中间。绞苑抬诵娶骚浮在嗓卒蝗招割衙衡瑞掇摔窃墩况沁裁搔廖砾宴馋萌濒箍瑚第9章处理字串和日期时间第9章处理字串和日期时间44Visual Basic程序设计教程字处理器中,字符的查找和替换是基本功能。运用字处理器中,字符的查找和替换是基本功能。运用前面介绍过的一些字符处理函数,可以实现对字符前面介绍过的一些字符处理函数,可以实现对字符串中的指定的子字符串进行查找和替换操作串中的指定的子字符串进行查找和替换操作, ,例如使例如使用用InStrInStr,使用,使用MidMid函数和函数和MidMid语句等。语句等。VBVB还提供了一还提供

67、了一个函数个函数ReplaceReplace实现这个功能。实现这个功能。 ReplaceReplace函数返回一个字符串,该字符串中指定的子函数返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的字符串已被替换成另一子字符串,并且替换发生的次数也可以指定。使用格式为:次数也可以指定。使用格式为:狸灾俭癌胰磕屑溜蛾砧贿捌顷疟幕溅舌够篓驮驴睬踞炒植趟肯社涡钟金亲第9章处理字串和日期时间第9章处理字串和日期时间45Visual Basic程序设计教程 Replace(Expression, Find, Replacewith, Start, Replace(Expressi

68、on, Find, Replacewith, Start, Count)Count)函数参数函数参数ExpressionExpression为字符串表达式,其中包含要被替换的为字符串表达式,其中包含要被替换的子字符串。子字符串。FindFind是指定要搜索的子字符串,是指定要搜索的子字符串,ReplacewithReplacewith用用来替换的子字符串。来替换的子字符串。StartStart确定在确定在ExpressExpress子字符串搜索的开子字符串搜索的开始位置,默认从始位置,默认从1 1开始。开始。CountCount为进行替换的次数,默认是为进行替换的次数,默认是1 1,它表明进行

69、所有可能的替换。可以根据,它表明进行所有可能的替换。可以根据ReplaceReplace函数的返函数的返回值判断查找和替换操作的结果。返回值如表回值判断查找和替换操作的结果。返回值如表9.59.5所示。所示。 晨童卑咯迸机勤宾丝缚求石毙您创杠拖鸡著鹅汹俐羔懂忙癣筛状芍从噬钻第9章处理字串和日期时间第9章处理字串和日期时间46Visual Basic程序设计教程【例【例9-49-4】用一个文本框作为简单的字编辑器,】用一个文本框作为简单的字编辑器,在其中输入一段有关电在其中输入一段有关电 脑编程的文字,然后用脑编程的文字,然后用 查找替换的方法,将文查找替换的方法,将文 本框中的本框中的“电脑电

70、脑”全部全部 替换为替换为“计算机计算机”。 程序界面如图所示程序界面如图所示愤俯稽骤肚柠锣至侥楼境淄锚琅雄的韶杏忙研川叶亭吸乳泛著慢抒浅浦沼第9章处理字串和日期时间第9章处理字串和日期时间47Visual Basic程序设计教程【例【例9-59-5】使用】使用VBVB的函数处理日期和时间的示例。的函数处理日期和时间的示例。 Private Sub Form_Load()Private Sub Form_Load() Label1.Caption = Label1.Caption = “VBVB的日期和时间格式的日期和时间格式” List1.Additem List1.Additem 当前的日

71、期和时间当前的日期和时间: & Now: & Now List1.Additem List1.Additem 今天是:今天是: & Date & Date List1.Additem List1.Additem 今天是:今天是: & Day(Date) & & Day(Date) & 号号 List1.Additem List1.Additem 今天是:一周的第今天是:一周的第 & Weekday(Date) & & Weekday(Date) & 天天 List1.Additem List1.Additem 今天是:今天是: & Weekdayname(Weekday(Date) & Wee

72、kdayname(Weekday(Date) List1.Additem List1.Additem 本月是:本月是: & Monthname(Month(Date) & Monthname(Month(Date) List1.Additem List1.Additem 今年是:今年是: & Year(Date) & Year(Date)End Sub End Sub 寒津仪壹批栈借翁缴桅馏棱叼议罗沼稻渍挑创吁汀装肾窄循恤茨疼廷弄洋第9章处理字串和日期时间第9章处理字串和日期时间48Visual Basic程序设计教程9.6.1 Date函数和数据类型函数和数据类型1 判断判断DateDate

73、数据类型数据类型Dim Mydate As DateDim Mydate As Date 定义定义MyDateMyDate为日期型变量为日期型变量Mydate = #2005-11-14#Mydate = #2005-11-14# 给给MyDateMyDate赋值赋值VBVB使用使用IsDate IsDate 函数指出一个表达式是否可以转换函数指出一个表达式是否可以转换成日期。使用格式为:成日期。使用格式为: IsDate(Expression) IsDate(Expression)扒担媳吞贾兑登帖跟锌享凸纲舀但孰豺子壁甸颗蟹椭壕蚤胸恍炒梭胁歼即第9章处理字串和日期时间第9章处理字串和日期时间

74、49Visual Basic程序设计教程 参数参数ExpressionExpression可以是一个日期表达式或字符串可以是一个日期表达式或字符串表达式。函数返回表达式。函数返回TrueTrue表示可以实现转换,表示可以实现转换,FalseFalse表示不能转换。例如:表示不能转换。例如:IsDate(#1:01:01 AM#) IsDate(#1:01:01 AM#) 返回返回TrueTrueIsDateIsDate(1) 1) 返回返回FalseFalse悦鹿喇肇薛涨淄泡皆赌姬闹想赢轩落糙济逮澡训蔚七覆桨谚鸣责阳论宏象第9章处理字串和日期时间第9章处理字串和日期时间50Visual Bas

75、ic程序设计教程2 2取当前日期信息取当前日期信息NowNow函数。返回系统当前的日期与时间。函数。返回系统当前的日期与时间。DateDate函数。返回包含系统日期的函数。返回包含系统日期的DateDate型数据。型数据。Day () Day () 函数。返回一个月中的某一日。函数。返回一个月中的某一日。Weekday()Weekday()函数。返回一个整数,代表某个日期是一函数。返回一个整数,代表某个日期是一周中的第几天。周中的第几天。Weekdayname()Weekdayname()函数。返回一个字符串,表示一星期函数。返回一个字符串,表示一星期中的某天。中的某天。Month()Mont

76、h()函数。返回一年中函数。返回一年中1 1到到1212之间的某一月。之间的某一月。Year()Year()函数。返回包含表示年份的整数。函数。返回包含表示年份的整数。堑侥侗牧汕浓技艾倾休粹弓涛姆幕摩馏攘斤氨上川李旁恿闭篆硝壮殊驶忻第9章处理字串和日期时间第9章处理字串和日期时间51Visual Basic程序设计教程3 3设置系统日期设置系统日期使用使用datedate语句,格式为:语句,格式为:Date = NewDateDate = NewDate 赋值号的右边赋值号的右边NewDataNewData为新设置的日期数据。为新设置的日期数据。 例如:例如: Mydate = #2005-1

77、1-14# Mydate = #2005-11-14#, Date = Mydate Date = Mydate酝扇宿湘僳字钱腕整颈郭簿村粳毒穆淑而番业萍衣当拣藐吾蛰贷揽贱贿悄第9章处理字串和日期时间第9章处理字串和日期时间52Visual Basic程序设计教程4 4DateSerial DateSerial 函数函数 执行执行DateSerialDateSerial函数将返回包含指定的年、函数将返回包含指定的年、 月、日的日期数据。使用格式为:月、日的日期数据。使用格式为: DateSerial(Year, Month, Day) DateSerial(Year, Month, Day)5

78、 5DateValue DateValue 函数函数 执行执行DatavalueDatavalue函数将返回一个日期值,使用函数将返回一个日期值,使用 格式为:格式为: DateValue(Date) DateValue(Date) 其中参数其中参数DateDate通常是字符串表达式或其他表达式。通常是字符串表达式或其他表达式。 窜诊朱祟抄鳃充而姥膳骑粒纱朋绪贼掏剐固亦厨请北俞赌烹安泻个搁喉氨第9章处理字串和日期时间第9章处理字串和日期时间53Visual Basic程序设计教程9.6.2 时间数据时间数据1 1取当前时间取当前时间 取当前时间使用取当前时间使用TimeTime函数,使用格式为

79、:函数,使用格式为:TimeTime 例如:例如: Print Time Print Time 输出当输出当前时间到窗体上与时间相关的函数还有前时间到窗体上与时间相关的函数还有Hour(Hour(小小时时) )、MinuteMinute(分)、(分)、SecondSecond(秒)等。例如要(秒)等。例如要得到当前的时间的小时数,使用如下语句:得到当前的时间的小时数,使用如下语句: Print Hour(Time) Print Hour(Time)稿冠逻塌牲惠管咨金倘凯乙庶祭邯阑匀墙蘸赶素顶员敝早辽迟熄意窒久擞第9章处理字串和日期时间第9章处理字串和日期时间54Visual Basic程序设计

80、教程2 2设置时间设置时间 同样我们也可以对机器的时间进行设置,这时同样我们也可以对机器的时间进行设置,这时 Time Time关键字位于赋值号的左边。例如直接给时关键字位于赋值号的左边。例如直接给时 间赋值:间赋值: Time = #12:0:0# Time = #12:0:0# 也可以使用变量给系统时间赋值:也可以使用变量给系统时间赋值: Mytime = #4:35:17 PM# Mytime = #4:35:17 PM# 指定一个时间指定一个时间 Time = Mytime Time = Mytime啤晚册摩啥碗组晌真佬庶方尚粮间悼于悯炼亩鼓旭隐长餐欺植屹猩吩构亡第9章处理字串和日期时

81、间第9章处理字串和日期时间55Visual Basic程序设计教程3 3TimeSerial TimeSerial 函数函数 使用格式为:使用格式为:TimeSerial(Hour, Minute, TimeSerial(Hour, Minute, Second)Second) 函数执行后,返回一个函数执行后,返回一个DateDate型的数据。其中参型的数据。其中参数数HourHour、MinuteMinute、SecondSecond分别为时、分、秒,正分别为时、分、秒,正常取值范围分别为常取值范围分别为 0 (12:00 AM. ) 0 (12:00 AM. )23 (11:00 23 (

82、11:00 PM)PM)、0 05959、0 05959,或者为任何可以被接受的,或者为任何可以被接受的表达式。表达式。 例如:例如:TimeSerial(12 - 6, -15, 0)TimeSerial(12 - 6, -15, 0)辞用藉便覆夯独淋狼佛缎句腕尝秉坐甚翁村死榴篱载撂滓殿蝉钨辈忍桑矢第9章处理字串和日期时间第9章处理字串和日期时间56Visual Basic程序设计教程4 4TimeValue TimeValue 函数函数 TimeValue TimeValue函数返回一个包含时间的数据函数返回一个包含时间的数据(Date(Date类型类型) ),使用格式为:,使用格式为:T

83、imeValue(Time)TimeValue(Time) 其中其中Time Time 参数通常是一个字符串表达式或其他参数通常是一个字符串表达式或其他表达式,表示表达式,表示 0:00:00 (12:00:00 A.M.) 0:00:00 (12:00:00 A.M.) 到到 23:59:59 (11:59:59 P.M.) 23:59:59 (11:59:59 P.M.) 之间的时刻。如果之间的时刻。如果 Time Time 包含包含 Null Null,则返回,则返回 Null Null。 坊珊屈赔恬澜迟习淋蔽寻枣弹厉捶糖矾擒瞻英鄙吹盟蒙刻剥妆愧况瞪期峭第9章处理字串和日期时间第9章处理

84、字串和日期时间57Visual Basic程序设计教程9.6.3 日期的计算日期的计算日期的计算最直接的方法是通过算术表达式进行日期的计算最直接的方法是通过算术表达式进行计算。例如下列程序代码给出了当前日前前计算。例如下列程序代码给出了当前日前前1 1天天是哪一天:是哪一天: Dim Date1 As Date Dim Date1 As Date Date1 = Date - 100Date1 = Date - 100 Print Date1Print Date1除了使用算术表达式,除了使用算术表达式,VBVB提供了进行日期计算三提供了进行日期计算三个函数个函数DateAddDateAdd、D

85、ateDiffDateDiff和和DatePartDatePart。盯殆鞍负微虑测横数泡糕愧驼海彼氯演蔡秸赖圭过威粥墒沃产核醛匪猿咕第9章处理字串和日期时间第9章处理字串和日期时间58Visual Basic程序设计教程9.6.4 格式化日期和时间格式化日期和时间1 1FormatDateTimeFormatDateTime函数函数函数函数FormatDateTimeFormatDateTime将返回一个日期或时间格式将返回一个日期或时间格式的表达式。使用格式为:的表达式。使用格式为: FormatDateTime(Date,NamedFormat) FormatDateTime(Date,N

86、amedFormat) 其中参数其中参数DateDate是必需的,它给出要被格式化的日是必需的,它给出要被格式化的日期表达式。期表达式。NamedFormatNamedFormat是可选的,使用数字值是可选的,使用数字值表示日期表示日期/ /时间所使用的格式。时间所使用的格式。 皮魄呻姜瓶劳氯荤侵抠属爵抠夜钧激镍玲勒瘪赤足烹装惺依熊蛇肃保炸挖第9章处理字串和日期时间第9章处理字串和日期时间59Visual Basic程序设计教程常数常数值值描述描述vbGeneralDatevbGeneralDate0 0显显示日期和示日期和/ /或或时间时间。日期部分用短日期格式。日期部分用短日期格式显显示,

87、示,时时间间部分用部分用长时间长时间格式格式显显示。如果两部分都有,两部分示。如果两部分都有,两部分都都显显示示vbLongDatevbLongDate1 1用用计计算机区域算机区域设设置置值值中指定的中指定的长长日期格式日期格式显显示日期示日期vbShortDatevbShortDate2 2用用计计算机区域算机区域设设置置值值中指定的短日期格式中指定的短日期格式显显示日期示日期vbLongTimevbLongTime3 3用用计计算机区域算机区域设设置置值值中指定的中指定的时间时间格式格式显显示示时间时间vbShortTimevbShortTime4 4用用2424小小时时格式(格式(hh

88、hh:mmmm)显显示示时间时间即短即短时间时间格式格式懊忠字饯乓摹淤截柔瞒袋阁昏扮蘑寓张筒烟反错薪弟烯绞栏深磨胆苟秦难第9章处理字串和日期时间第9章处理字串和日期时间60Visual Basic程序设计教程【例【例9-79-7】使用】使用FormatDateTimeFormatDateTime函数给出日期和时函数给出日期和时间的不同格式。程序代码如下。间的不同格式。程序代码如下。 Private Sub Form_Load() Private Sub Form_Load() Dim MyDate As Date Dim MyDate As Date Show Show MyDate = Fo

89、rmatDateTime(Now, vbGeneralDate) MyDate = FormatDateTime(Now, vbGeneralDate) Print Print Print Print 默认的日期时间格式:默认的日期时间格式: & MyDate & MyDate Print Print 长长 日日 期期 格格 式:式: & FormatDateTime(Now,vbLongDate) & FormatDateTime(Now,vbLongDate) Print Print 短短 日日 期期 格格 式:式: & FormatDateTime(Now, & FormatDateTi

90、me(Now, vbShortDate)vbShortDate) Print Print 长长 时时 间间 格格 式:式: & FormatDateTime(Now, vbLongTime) & FormatDateTime(Now, vbLongTime) Print Print 短短 时时 间间 格格 式:式: & FormatDateTime(Now, & FormatDateTime(Now, vbShortTime)vbShortTime) End Sub End Sub任蚕野委酶谢恩芜昨扩青揩逾辩国纫患溯苹贡使团暗佣街灌飞曾锄劝耽杂第9章处理字串和日期时间第9章处理字串和日期时间6

91、1Visual Basic程序设计教程2 2FormatFormat函数格式化日期时间函数格式化日期时间 Format( Express Format( Express,FormatType)FormatType) 其中,其中,ExpressExpress可以是可以是DateDate型的数据或表达式,型的数据或表达式,FormatTypeFormatType使用表使用表9.99.9中的设置值,例如中的设置值,例如yyyyyyyy代表代表4 4位年份,位年份,mmmm代表两位的月份,代表两位的月份,m m使用一位的月份使用一位的月份(如果超过一位,如(如果超过一位,如1111月月1212月,按实

92、际输入),月,按实际输入),使用使用d d表示日,表示日,dddddddd表示星期,表示星期, hh hh表示时,表示时,nnnn表表示分,示分,ssss表示秒等。也可以使用表示秒等。也可以使用VBVB预定义的格式预定义的格式名(如表名(如表9.69.6所示)。所示)。杉最斧粹朔览浴催徐擂贴津鹃炮师鞭酱武耿按略佐柏癌寅纠枪厌斋乃葡避第9章处理字串和日期时间第9章处理字串和日期时间62Visual Basic程序设计教程【例【例9-89-8】使用】使用FormatFormat函数格式化日期和时间的例子。函数格式化日期和时间的例子。执行程序后的显示如图执行程序后的显示如图9.89.8所示。程序代码

93、如下。所示。程序代码如下。Private Sub Form_Load()Private Sub Form_Load() Dim MyDate As Date Dim MyDate As Date Show Show MyDate = Format(#1/1/2005#, mm/dd/yyyy) MyDate = Format(#1/1/2005#, mm/dd/yyyy) Print & MyDate Print & MyDate Print Format(#1/1/2005#, m/d/yy) Print Format(#1/1/2005#, m/d/yy) Print Format(#1/

94、1/2005#, mmmm d,yy) Print Format(#1/1/2005#, mmmm d,yy) Print Format(#1/1/2005#, dd) Print Format(#1/1/2005#, dd) Print Format(#1/1/2005#, dddd) Print Format(#1/1/2005#, dddd) Print Print 当前日期当前日期 & Format(Now, dddddd) & Format(Now, dddddd) Print Print 当前日期为本月的第当前日期为本月的第 & Format(Now, w) & & Format(

95、Now, w) & 周周 Print Format(Now, hh:nn:ss) Print Format(Now, hh:nn:ss) Print Format(Now, hh:nn AM/PM) Print Format(Now, hh:nn AM/PM) Print Format(#11:59:59 AM#, hh:ss AM/PM) Print Format(#11:59:59 AM#, hh:ss AM/PM) Print Format(#12:00:01 AM#, hh:ss AM/PM) Print Format(#12:00:01 AM#, hh:ss AM/PM)End Su

96、b End Sub 疯奏号领洗钒智谊嗡五蹄波咖犀闹牲睦透燃淹恼排尺逃轰双徒瘴迢奖染坏第9章处理字串和日期时间第9章处理字串和日期时间63Visual Basic程序设计教程 VB VB提供了几个日历控件,提供了几个日历控件,本节通过一个例子演示日历本节通过一个例子演示日历控件的使用。控件的使用。【例【例9-109-10】从】从MonthViewMonthView中选中选取日期,在文本框中显示。取日期,在文本框中显示。 拼受授吠然腐多奏靖译乙勾拦赔诌掖嚎序皑肄诺盟搓激咱新孪饯炙蛊参您第9章处理字串和日期时间第9章处理字串和日期时间64Visual Basic程序设计教程 设设计计一一个个简简易易

97、定定时时器器,界界面面如如图图所所示示。图图中中文文本本框框Text1Text1用用来来显显示示开开始始时时间间和和定定时时的的时时间间间间隔隔,用用单单选选按按钮钮“时时间间”和和“间间隔隔(分分)”确确定定文文本本框框中的输入数据是定时的中的输入数据是定时的 开开始始时时间间和和定定时时间间隔隔。使使用用命命令令按按钮钮“开开始始”进进入入定定时时过过程程,“重重置置”按按钮钮使使得得定定时时设设置置重重新新开开始。始。俐语噎袒敬罐标篡招峡研伍祖釉彝铅嗽豹酉逢砸锥横安劫抡坛戴公学汞瘤第9章处理字串和日期时间第9章处理字串和日期时间65Visual Basic程序设计教程进进入入定定时时过过程程,在在窗窗体体的的标标题题栏栏上上以以秒秒为为单单位位进进行行倒倒计计时时,计计时时归归零零后后通通过过机机器器的的内内部部扬扬声声器发出声音。器发出声音。 炔治牺褪健谰难慕吴父挨拘莲谊色盆敞骚陀亮英光想垮仍加直宰烟陛爹系第9章处理字串和日期时间第9章处理字串和日期时间66Visual Basic程序设计教程

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号