- 浏览: 58629 次
- 性别:
- 来自: 杭州
最新评论
在编写应用程序时,我们需要经常与时间和日期打交道,因此经常需要一些对时间的控制技术,在Delphi中,提供了一整套对日期和时间的操作函数,在此,我将详细介绍一下在Delphi中的时间操作技术,希望能对大家有所帮助。
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完全一样。
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相比,可更直观表示高精度的时间,一般用于毫秒级的运算以及用于表示较长的时间。
这是一个用来描述日期与时间的一个结构类型,在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中文社区 http://bbs.zdnet.com.cn ,本贴地址:http://bbs.zdnet.com.cn/viewthread.php?tid=142576
一个用于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中文社区 http://bbs.zdnet.com.cn ,本贴地址:http://bbs.zdnet.com.cn/viewthread.php?tid=142576
发表评论
-
脚本是在
2009-03-11 19:00 1023大家交 ... -
DELPHI常见事件、常用方法、属性使用范围说明
2008-06-19 22:24 2819属性使用范围说明 Action 一些组件标识与组件相连接的 ... -
DELPHI常见属性说明
2008-06-19 21:37 1506DELPHI常见属性说明: ALI ... -
delphi用于时间操作的函数 (2)
2008-06-19 13:44 1696TDateTime类型与字符串型转换函数: DateTime ... -
delphi用于时间操作的函数(1)
2008-06-19 13:43 1335用于时间操作的函数 Date函数: 定义:Date: TDa ... -
数据库表TreeView树的快速生成
2008-06-18 21:57 1947根据数据表的内容生成TreeView树状结构,通常的做法就是从 ... -
Delphi中根据分类数据生成树形结构的最优方法
2008-06-18 21:52 3399新一篇: Delphi程序设计之--惯用法 一、 引言: ... -
我的DBTreeView--TreeView直接连接数据表
2008-06-04 17:34 1028unit Unit1; interface uses ... -
Delphi下Treeview控件基于节点编号的访问
2008-06-04 17:31 1465有时我们需要保存和重建treeview控件,本文提供一种方法, ... -
Delphi中根据分类数据生成树形结构的最优方法
2008-06-04 17:27 1278很多系统都有类似于如下的表结构(table1): ID ... -
TreeView添加子节点和动态生成控件
2008-06-04 14:06 3869有这样一个TreeView,动态分有类A,B,C...(不一定 ... -
一种较简易的树型控件节点构造法
2008-06-03 21:42 956把数据库中的数据在树型控件(TreeView)中正确显示是较为 ... -
Delphi中树型控件的使用技巧
2008-06-03 13:40 1369我们都知道,开发者 ... -
TREEVIEW右键菜单示例
2008-06-03 13:31 3584在 Form1 上拖一个 TreeView 控件,然后参考一下 ... -
TreeView的使用
2008-06-03 13:09 1303TreeView 是一个显示树型结构的控件,每一个节点都是一个 ... -
在Dephi中使用TStream读写数据的技巧
2008-06-02 13:29 791在Dephi中提供了一个抽 ... -
Delphi环境下灵活的数据库树表实现
2008-06-02 13:27 12221 数据结构设计 在 ...
相关推荐
delphi中的时间操作技术 在编写应用程序时,我们需要经常与时间和日期打交道,因此经常需要一些对时间的控制技术,在Delphi中,提供了一整套对日期和时间的操 作函数,在此,我将详细介绍一下在Delphi中的时间操作...
在DELPHI2.0/3.0中直接操作端口 开 发AS/400 应 用 系 统: PB5 与Delphi3 的 比 较 检查驱动器是否就绪 在Delphi应用程序中拖动控件 用修改文件时间的方法来加密文件 资 源 文 件 在DELPHI 中 的 使 用 ...
在Delphi程序中操作注册表 鼠标和键盘控制 如何为Delphi程序添加事件和事件处理器 在Delphi应用程序中拖动控件 用DEPHI为应用软件建立注册机制 用Delphi创建临时文件 Delphi 5快速创建控制面板程序 Delphi...
在Delphi程序中操作注册表 鼠标和键盘控制 如何为Delphi程序添加事件和事件处理器 在Delphi应用程序中拖动控件 用DEPHI为应用软件建立注册机制 用Delphi创建临时文件 Delphi 5快速创建控制面板程序 Delphi...
在一系列的任务中,您将接触到一些技术和最佳实践,这些技术和实践使Aurelius的使用变得简单有效。此外,您还将改进分析技能,以提高对Delphi(Pascal)的理解,从而帮助您编写更好的代码。Delphi ORM的介绍解释说,...
大家可能见过诸如金山毒霸,瑞星杀毒,以及五笔输入法等等在系统托盘(即右下角有时间和输入法图标的地方)在的控制菜单,而在正常的任务栏(即屏幕最下方的“开始”按钮的右边的各式各样)中却不出现按钮的程序,即我们常...
本书内容翔实、图文并茂,强调“边学边做”,具有良好的操作性,适合Delphi初级开发人员使用,也可以作为广大计算机爱好者的参考资料。 第1章 Delphi基础知识 1.1 Delphi的特点 1.2 Delphi7的集成开发环境 ...
11.1.2 在Delphi程序中使用多线程 304 11.1.3 关于线程的滥用 305 11.2 TThread对象 305 11.2.1 TThread基础 305 11.2.2 TThread实例 307 11.2.3 线程的终止 307 11.2.4 与VCL同步 308 11.2.5 一个演示程序 310 ...
实例191 在DELPHI中控制Word 246 实例192 带日志的程序 247 实例193 获取窗口文本 248 实例194 判断文件是否正在被使用 250 实例195 提取文件中的图标资源 251 实例196 在程序中调用.HLP文件 253 实例...
实现查询和打印各种已生成的单据(入库单,领物单,换物单,退物单,报损单,回收单),“时间”为一个时间段,默认为当前系统时间,可以输入科室、操作人和录入人等查询条件,也可以不输入这些查询条件;...
Convolution则是一个简单的计算过程,用来测试启动Kernel、等候数据等操作会占用的时间情况的。 OpenCL其实并不是想象中那么美妙,也不是想象中的那么复杂,但要使用好OpenCL,就必须认真的对待每个细节, 甚至...
(直接安装使用,无需其他任何操作) Raize组件, Delphi和C + + Builder的是一个用户界面的设计系统。在它的中心是一个集合超过125个通用的原生VCL控件。内置技术的基础上,第一次创建超过15年前,这些高品质的组件为...
组件实现了在设置中存储组件属性的技术 存储,如ini文件,注册表等。 TMemTableEh组件 数据集,将数据保存在内存中。它可能考虑为 记录。 此外,它: 支持一个特殊的接口,该接口允许DBGridEh组件查看所有 ...
我们对使用 BufferedImage 对象的兴趣意味着我们将不再花费精力去研究减少处理器时间的最佳技术,而是把注意力放在理解怎样才能在一个程序内部创建和使用图像上。 我们的 BufferedImage 对象看上去如图 1 中的...
随着科学技术的飞速发展,人们对知识的可望出越来越多;想在有限的时间内多学习一些有用的知识。图书馆和书店是他们常出入的地方,为了使商家更好的管理他们的书店或者是书馆;我在业余时间开发了这个图书管理系统...
0007 在Delphi中加载QReport报表组件 7 1.3 创建DLL文件 8 0008 生成一个DLL文件 8 0009 调用DLL文件 8 1.4 窗体相关操作 9 0010 将组件置前/置后 9 0011 如何锁定窗体中的组件 9 0012 如何改变窗体...
0007 在Delphi中加载QReport报表组件 7 1.3 创建DLL文件 8 0008 生成一个DLL文件 8 0009 调用DLL文件 8 1.4 窗体相关操作 9 0010 将组件置前/置后 9 0011 如何锁定窗体中的组件 9 0012 如何改变窗体...
如果不是,则直接进行比较日期之后,进行删除操作。 其中提取到 这个文件的准确创建日期这一块可能 费了点时间。就是不想直接用r.finddata 里头的东西。太烦人。 也没有多少技术,就是方便删除超大目录下相关...