VB date型变量及函数用法

编程中常常会与时间打交道,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值