| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> vb >> 系统 >> 文章正文
VB中的时间处理问题            【字体:
VB中的时间处理问题
作者:未知    文章来源:-    点击数:    更新时间:2006-8-9

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

[1]

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 用VB编写DirectX7.0游戏(下…

  • 用VB编写DirectX7.0游戏(上…

  • 使用OLE DB和ADO调用返回记录…

  • 使用VB调用Oracle程序包内的…

  • VB中用ADO对象动态创建数据库…

  • fffff

  • 如何用MSComm Control传Bina…

  • MultiLink的WinSock Server程…

  • 用VB制作浏览器

  • 用VB编写网络寻呼机

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |