zoukankan      html  css  js  c++  java
  • vb时间处理

    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

    -------------------------------------------------------

      CDate()函数将得到地时间字符串进行转换为date类型地值,然后在插入到数据库中,开端在一台电脑上运行并没有错。转换的结果与电脑中时间的格式设置有关

    系统设置相关开端——〉设置——〉掌握面板——〉区域和语言选项——〉区域选项——〉自定义——〉时间(日期)

      可用进行二次转换:format(cdate(),"YYYY-MM-DDHH:MM:SS")

  • 相关阅读:
    Eclipse 导入项目乱码问题(中文乱码)
    sql中视图视图的作用
    Java基础-super关键字与this关键字
    Android LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot)的参数理解
    Android View和ViewGroup
    工厂方法模式(java 设计模式)
    设计模式(java) 单例模式 单例类
    eclipse乱码解决方法
    No resource found that matches the given name 'Theme.AppCompat.Light 的完美解决方案
    【转】使用 Eclipse 调试 Java 程序的 10 个技巧
  • 原文地址:https://www.cnblogs.com/mitang/p/1855239.html
Copyright © 2011-2022 走看看