`
cuichang
  • 浏览: 93071 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

VB中的时间处理问题

阅读更多
编程中常常会与时间打交道,VB编程自然也不例外。以下就谈谈我在这方面的一点经验。
   VB中提供了很多变量类型,DATE型就是专门用了存储时间的。
   1、DATE型变量及其相关函数。
   在内部,一个Date占8个字节的内存,你可以方便地用它来存储日期和时间。给Date变量赋值是很容易的。但请保证输入顺序与系统默认的时间表示顺序相同。例如:
   Dim d As Date
   d = #5/23/99 11:45:34 AM#
   DateSerial函数可以把年、月、日的数字组合成一个Date值。TimeSerial函数可把小时、分、秒的数字组合成一个Date值。且两函数可以叠加。
   d = DateSerial(1999, 5, 23) + TimeSerial(11, 45, 34)
   而DateValue 和TimeValue 函数则可将代表日期和时间的字符串转化为Date型,并且也可以叠加。
   d = DateValue(“1999/ 5/ 23”) + TimeValue(“11: 45: 34”)
   Format函数可按预定的格式显示或打印一个Date变量。如:
   Print Format(d, “general date”) `99-5-23 11:45:34
   Print Format(d, “long date”) `1999年5月23日
   Print Format(d, “medium date”) `99-05-23
   Print Format(d, “short date”) `99-5-23
   Print Format(d, “long time”) `11:45:34
   Print Format(d, “medium time”) `11:45 AM
   Print Format(d,“short time”) `11:45
   Format函数也允许你自己规定显示格式。如:
   Print Format(d, “mmmm”) `may 产生日期中月份的英文
   以以上日期为例,如想显示其中的一部分信息可使用以下函数:
   Print Month(d) `5
   Print Day(d) `23
   Print Year(d) `1999
   Print Hour(d) `11
   Print Minute(d) `45
   Print Second(d) `34
   Print WeekDay(d)`1
   Weekday 提供了一组内部常量,vbSunday代表1,直到 vbSaturday代表7。
   Now 函数可返回今天的日期及时间。如:
   Private Sub Form_Click()
   Dim d As Date
   d = Now
   Print d
   End Sub
   灵活地应用以上的函数,可以大大地简化你的程序。例如想计算10000秒等于几小时几分几秒可写为:
   Private Sub Form_Click()
   Dim d As Date
   d = TimeSerial(0, 0, 10000)
   Print d
   End Sub
   结果为2:46:40。
   2、与时间相关的常用控件。
   Timer控件是一个奇特的控件。Timer 控件会在固定时间间隔中运行Timer事件。此间隔是由Interval属性决定的,其单位为千分之一秒。但不要以为将其值设为0事件就可不间断地运行了。结果恰恰相反,事件将一次也不运行。同时还要注意变量的声明。如:
   Private Sub Timer1_Timer()
   Dim a As Integer
   a = a + 1
   Print a
   End Sub

   Dim a As Integer
   Private Sub Timer1_Timer()
   a = a + 1
   Print a
   End Sub
   试试看,其结果是完全不同的。
   当需要用户输入时间时,为避免出现错误的时间,可以使用日历控件。它只允许用户在日历表中选择日期,避免了错误的发生。
   3、记录时间的API函数。
   GetTickCount Windows API函数可返回 Windows 启动以来消失的毫秒数。其精度高于VB的Timer 函数。且Timer 函数会在午夜清零,而GetTickCount 函数只有当机器连续使用49.7天后才返回零。这为我们编程提供了很大的方便。例如想知道你的电脑连续工作多久了,可新建一工程,然后添加以下代码:
   Private Declare Function GetTickCount Lib “kernel32" () As Long
   Private Sub Form_Load()
   Dim d As Date
   Dim t As Integer
   Form1.Show
   t = GetTickCount \ 1000
   d = TimeSerial(0, 0, t)
   Print d
   End Sub  


分享到:
评论

相关推荐

    精彩编程与编程技巧-VB中的时间处理问题...

    精彩编程与编程技巧-VB中的时间处理问题 ...

    VB.NET时间日期数据处理及技巧(实例)

    我们在编程中,通常都需要处理时间日期数据,这也是一种比较难于处理的数据类型,因为时间日期类型的结构相当复杂,并且还有一定的规则,如果在定义的时候不符合规则,程序在编译的时候就会出错。在Visual Basic ...

    VB软件开发中的错误捕获及处理技术

    VB软件开发中的错误捕获及处理技术VB技术很实用的源码本人收集了一些技巧供大家参考,希望斑竹能多放一些时间。按字母或数字顺序排列列表框中的列表项. 将以下代码加入到你的程序中.

    VB上常用的延时处理机制

    VB上常用的三种延时机制处理方法。详细,无错。

    vb IsDate判断字符串是否为日期或时间.rar

    vb 判断字符串是否为日期或时间,在输入框输入任意字符串类型,程序将会判断出该字符串是否是时间字符串,这个判断方法VB员自带有函数,使用IsDate即可实现,下面是使用IsDate的简单用法示例:  If IsDate(Text1) =...

    VB网络编程实例

    16.htm 保证连网计算机时间同步 ◆ 17.htm 编写网络寻呼机 ◆ 18.htm 编制自已的电话录音小程序 ◆ 19.htm 程序中如何启动默认的拨号连接 ◆ 20.htm 程序中如何启动默认的拨号连接?...

    彻底解决VB四舍五入问题

    在VB中,round采用的是四舍六入,用起来不理想,formatnumber对于负数处理不好,所以自己写了一个小函数,解决了这个问题,需要的拿去用吧.

    VB线程池使用

    VB 线程池使用是多线程应用程序中的一种重要概念,它可以有效地改善应用程序的响应时间,减少系统资源的占用,提高系统的性能。在多线程应用程序中,线程池的使用可以解决线程生命周期的开销问题和资源不足的问题。 ...

    VB.NET局部静态变量介绍

    经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。VB.NET能够实现很多C#不能做到的功能,如When语句、Optional参数、局部Static变量、对象实例访问静态...

    VB变量的命名规则

    在 VB 中,数据类型是指根据数据描述信息的含义,将数据分为不同的种类,以便于数据的存储和处理。VB 的基本数据类型包括: * 数值型数据 * 日期型数据 * 字节型数据 * 货币型数据 * 逻辑型数据 * 字符串型数据 * ...

    VB 简易 计算器 源码

     这个程序是依照计算机处理器内ALU处理数据的原理设计,根据输入的数据,来判断怎样操作、怎样送入操作数。例如:如果是双操作数则会将操作数A和操作数B的运算结果送入操作数A,标志状态变量重新按情况设置。……...

    VB.NET写的FFT算法

    VB.NET的人机界面具有易写性,...花了2天时间整理翻译了C语言代码,并且经过Matlab验证,可以直接在微机信号处理中使用。当然还有优化的空间。特别是对于实时频谱分析而言,对于点数确定的FFT,倒序运算可以先固定下来。

    利用VB.Net编程获取数码相片Exif信息

    了解数码相片的Exif信息格式,并利用VB来提取出来。

    vb6 sqlite 事务方式数据库编程

    无需部署即可使用的sqlite演示程序程序用vb6编写,包含sqlite的基本操作及性能测试,直接调用sqlite.dll中的api函数。性能测试中演示了插入操作使用事务提交及不使用事务提交方式在时间上的巨大差异。演示及性能测试...

    VB计算器源码附带安装包

     这个程序是依照计算机处理器内ALU处理数据的原理设计,根据输入的数据,来判断怎样操作、怎样送入操作数。例如:如果是双操作数则会将操作数A和操作数B的运算结果送入操作数A,标志状态变量重新按情况设置。……...

    可视化程序设计(VB)课件_东北大学

    学习参考书(编者,出版社,出版时间及版次): 1. 《Visual Basic程序设计教程6.0版》龚沛曾、陆慰民、杨志强编 高等教育出版社2000.7 2. 《Visual Basic 程序设计教程》 刘瑞新 李树东 万朝阳 电子工业出版社 ...

    VB利用GIF_LZW算法实现网络图片传输.rar

     A:VB的String存在自动Unicode转换问题,影响速度;  B:可以直接发送8位字节数据,不需要使用Base64编码,从而减少了编码时间。  三、使用GIF-LZW压缩算法压缩图像。理由:  A:行程编码、Huffman压缩算法压缩率...

Global site tag (gtag.js) - Google Analytics