上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
VB中的时间处理问题
作者:罗程 申领版权
2010年11月15日 共有 1782 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    
    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做定时断线程序
VisualBasic中的界面设计原则和编程技巧
VB6.0与Windows API 间的呼叫技巧
制作可以自动隐藏的弹出式菜单
ListBox中的字符串超长显示的解决方法
VB中的Unicode 和 Ansi 格式
优化程序显示速度
Visual Basic 产生渐层的 Form 背景
用VB实现客户——服务器(TCP/IP)
用VB制作注册软件的方法

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》