说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB中的时间处理问题

HTML文档下载 WORD文档下载 PDF文档下载
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
Visual Basic动画编程技术 Visual Basic环境下Video/ Audio压缩数据流播放技术 Visual Basic设计多媒体应用程序 Visual Basic影音控制 Web动画图像分解在VB动画设计中的应用 播放 .flc 动画 -VB资料 播放 AVI -VB资料 播放MP3文件 -VB资料 播放背景音乐 -VB资料 播放声音文件 -VB资料 播放资源文件文件中的声音-VB资料 不用ActiveX控件也能播放声音文件-VB资料 VB创建动态图标 电影结束画面的卷动效果-VB资料 二进制操作截取VCD片断 -VB资料 非常VB测声卡 关闭屏幕保护功能,改变屏保等待时间 -VB资料 VB获取桌面窗口图象 红色警戒&终级动员令-VB资料 检查是否安装声卡 -VB资料 将 .flc 动画档放在某一个 hWnd 之中播放 -VB资料 截取屏幕图像-VB资料 开机,自动更换墙纸 -VB资料 控制PC喇叭 -VB资料 利用VB测声卡 利用VB进行多媒体程序设计初步 利用Visual Basic设计多媒体应用程序 满屏播放AVI文件-VB资料 平铺贴图背景 -VB资料 破解WINDOWS屏幕保护密码 -VB资料 巧用VB编程使XMPLAYER自动播放VCD 飞利浦15寸液晶显示器;先到先得。 有谁做过3D骨骼编程的,留一个联系方式 急救!!!WIN98启动就死.(在线等) 幫我看看這是什麼病毒:win32.HLLM.Reteras 急急????在繞等待!!!!!! pb含原代码的例子何处寻觅 如何读取word表格中的数据? 怎样让一个tc程序在一台没有安装tc的电脑上运行? 请问在Vb.NET中引用型变量本身在内存中的值怎么查看呢? 关于在网络版程序中单据号连续的问题? 有关上网的缓存文件(捧分跪等) 我这样实现查询可不可以,为什么没有结果请帮我看好吗 怎么VFP2.5 for windows里的界面(对话框的标题栏里)都没有关闭按钮啊 如何在用户长时间等待的过程中显示一个临时页 ERROR:ORA-12560: TNS: 协议适配器错误 如何在SQL语句里精确小数点以后的位数不清 想得到一段程序的运行时间,C#中提供的time精确度太低,有没有精度比较高的算法? 在客户端已知某个文件的存放路径而不通过HTML的FILE控件再进行浏览选择,怎样把这个文件上传到服务器上 在VBA中变量的值改变后如何保存住值啊? 请问ListView怎么实现(点击标题栏字段名时)排序?谢谢 为什么生命还是这么短 关于电子论坛的设计!!!(回答有意义的高分美人相送,灌水的大炮伺候) jdk1.4大量认证资料奉送 请教对话框的创建 几个小问题,请大家多多帮忙!在线等待 请大家仔细看看,不知道我有没有写清楚,不知道算不算难还算容易....... win2000 sever怎样安装borland c++builder?(高分100) 请大家帮个忙,举手之劳而已 使用MSComm,在关闭窗口的时候,出现“端口已打开”的错误。怎么解决? 请问这几段C#语句怎么办? applet问题,期待高手出现 如何使用OpenDialog啊? 高分组网,斑竹不要删~~~~~~~~~~~~~~~ win2000 sever怎样安装borland c++builder?(高分100) 如何按分组条件,给一个字段乘以不同的值 求电子书!!! win2000问题,很急.在线等 求教,用delphi编的drm程序,急!~~~~~~~~ 请教对话框的创建 倒粪1 win2k中tts问题 XML+XSL+HTML运行出错(书上的例子) 倒粪2 高手帮我看一下这个奇怪的问题 倒粪3 ServerSocket的疑问 倒粪4 电脑配件 请问如何在JBuilder中调用我自己编写的JavaBean? 文件1可以Imports文件2的Namespace么? 我需要一个汉字的字库和词库,请问在什么地方能够得到?或者怎么可以从一个输入法程序中导出词库或词库?多谢。 调查:有多少人用的支持Java的手机? 圣人之道 为而不争表现出老子什么思想 请问下面那个搭配不对啊、A时迁——鼓上蚤——轻工上乘,善于偷盗 B戴宗——神行太保——擅神行之术C花容——小李广——善使飞刀 D张顺——浪里白条——水底下可伏得七日七夜 阔字怎么组词 下列人物出自哪部作品?娜拉( ) 安娜( ) 包法拉( )于连( ) 冉阿让( ) 乞乞科夫( ) 用阔怎么组词心胸( )草原( )( )的马群括号里用阔组词下面成语的构成方式与其他三个不同的一个是排山倒海 翻天覆地 东张西望 力挽狂澜 阔组词3个 降有哪些组词?阔有哪些组词?... 答案要正确.下列人物或形象出自哪部作品?请选择.(1)黑旋风 (2)桑桑 (3)徐宁 (4)虎妞 (5)鲁云飞(6)安利柯 (7)爱尔安 (8)金兀术 (9)黑风怪《西游记》——( ) 《骆 阔怎么组词 若一个反应是吸热反应,增大压强向右进行,那增大压强后它的反应热会怎么样改变?为什么?;-> 下列说法正确的是 A升高温度只能加快吸热反应速率 B对于任何反应 增大压强都可以加快反应速率C 使用正催化剂只能加快正反映速率 D催化剂可以改变化学反应速率 选什么 C是错的 单选 埃及审判穆尔西或将引发新的流血冲突俄罗斯:严防“黑寡妇”袭击 确保冬奥俄称斯诺登可去德国协助调查窃听事件泰国沉船事故致一中国人遇难 渡轮超载苏格兰首席部长访华 推动双方经贸合作苏格兰首席部长访华 推动双方经贸合作缅甸穆斯林赴邻国避难遇海难 或死伤惨中国海外移民生存录:从\"卖猪仔\"美澳联手监听亚太 “特等舱”行动曝光印度女婴家传怪病 身体多毛酷似狼孩【深秋也会得热射病 永康男子差点没了命饶毅卸任北大生科院院长 曾称“永不参招商大打“绿色牌”中兴华为“337初裁”获胜局长公车私用肇事让司机“顶包”庐江原政法委书记卢荣友获刑11年CPI跌回“2时代” 菜价成主力短消息上周农产品价格回升微言大义常言道明天天气
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘