Delphi中的时间操作技术(1)

简介:
在编写应用程序时,我们需要经常与时间和日期打交道,因此经常需要一些对时间的控制技术,在Delphi中,提供了一整套对日期和时间的操作函数,在此,我将详细介绍一下在Delphi中的时间操作技术,希望能对大家有所帮助。 
Delphi中的用于表示时间的类型: 
    首先,看一看在delphi中用于描述时间的几种数据结构,对时间的操作,其实就是对这些结构的操作。
TDateTime类型: 
    Delphi中最常用的表示日期时间的数据类型TDateTime类型,和普通的整形数一样,你可以给日期定义一个日期型变量以便在程序中进行操作。TdateTime类型实质上是一个Double型的数,在Delphi中是这样定义TdateTime类型: type  TDateTime = type Double ,具体的算法是用Double数的整数部分表示日期,以1989年12月30日为基准点,以天为单位进行加减,如数字1表示1900年1月1日,数字-1表示1989年12月29日。而小数部分则用来表示时间,其值为欲表示的时间与一整天总时间的比值,如早上6点就是6/24=0.25,而早上6:15就是(6*60+15)/(24*60)=0.2604166666666666666666666666667,下面,给出几个例子说明TDateTime类型 与Double类型的交互关系 
0       12/30/1899 00:00:00 
2.75    1/1/1900 18:00:00 
-1.25    12/29/1899 6:00:00  
35065    1/1/1996 00:00:00 
相信大家一定能自己理解TdateTime与Double之间的转换方法,因此,从根本上对TDateTime的操作与Double完全一样。
TTimeStamp 类型: 
这是一个用来描述日期与时间的一个结构类型,在Delphi中是这样定义的: 
type  
  TTimeStamp = record 
    Time: Integer;      {从午夜0点开始到指定时间的毫秒数 } 
    Date: Integer;      {以本日为基准到指点日期的天数} 
  end; 
和TDateTime相比,可更直观表示高精度的时间,一般用于毫秒级的运算以及用于表示较长的时间。
PsystemTime 类型: 
一个用于WinApi中对时间操作的指针型结构。他的定义为: 
type 
PSystemTime = ^TSystemTime; 
TSystemTime = record 
  wYear: Word; 
  wMonth: Word; 
  wDayOfWeek: Word; 
  wDay: Word; 
  wHour: Word; 
  wMinute: Word; 
  wSecond: Word; 
  wMilliseconds: Word; 
end; 
这个结构多用于调用WinApi操作时使用。 
本贴来自ZDNetChina中文社区  [url]http://bbs.zdnet.com.cn[/url] ,本贴地址: [url]http://bbs.zdnet.com.cn/viewthread.php?tid=142576[/url]




本文转自 byteh 51CTO博客,原文链接:http://blog.51cto.com/byteh/53627,如需转载请自行联系原作者

目录
相关文章
|
8月前
|
Java Unix C语言
在我掉入计算机的大坑并深陷其中时,一门名为“C语言”的编程语言让我沉迷
在我掉入计算机的大坑并深陷其中时,一门名为“C语言”的编程语言让我沉迷
|
数据可视化 C++ Windows
非可视化编程的windows窗口 C++ 代码设计:附例程并多多知识点
非可视化编程的windows窗口 C++ 代码设计:附例程并多多知识点
249 0
|
Linux 调度 开发者
Linux系统编程第五节——进程创建、终止、等待(通俗易懂快速上手版本)
关于非阻塞式等待的用法,我们可以使用轮回询问的方式,即使用循环的方式,不断的询问子进程此时是否退出。而非阻塞式的等待使得父进程在子进程运行时,自己可以不用傻傻的等着,也可以做自己的事情。
280 0
Linux系统编程第五节——进程创建、终止、等待(通俗易懂快速上手版本)
MFC DDE开发中令人迷惑的问题?
在用MFC(ddeml)开发DDE中,遇到一个令人迷惑的问题, ddeml提供的一些命令,在时钟函数里或按钮事件里运行正常,可是在线程里运行就出现如下错误
654 0