Delphi中的时间操作技术(1)
生活随笔
收集整理的這篇文章主要介紹了
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]
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]
博主推薦閱讀:
這樣記單詞最有效
沉默是金不如開口為銀
銷售,賣的是什么–銷售的最高境界
互動與零距離:得民心者得天下
笨的方法往往最有效---寫在被評為推薦博客
管理的最高目標:1加1等于1?
總結
以上是生活随笔為你收集整理的Delphi中的时间操作技术(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 验证中文的正则表达式
- 下一篇: Community Server配置对网