Delphi日期函数及日期加减

合集下载

2016新编delphi中SQL中日期的处理

2016新编delphi中SQL中日期的处理

SQL 中日期的处理通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。

你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DA TEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。

在使用本文中的例子之前,你必须注意以下的问题。

大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。

第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。

所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7。

假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。

你可以通过@@DATEFIRST函数来检查第一天设置。

为了理解这些例子,我们先复习一下DA TEDIFF和DA TEADD函数。

DA TEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。

DA TEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期。

要了解更多的DA TEDIFF和DA TEADD函数以及时间间隔可以阅读微软联机帮助。

使用DA TEDIFF和DA TEADD函数来计算日期,和本来从当前日期转换到你需要的日期的考虑方法有点不同。

你必须从时间间隔这个方面来考虑。

比如,从当前日期到你要得到的日期之间有多少时间间隔,或者,从今天到某一天(比如1900-1-1)之间有多少时间间隔,等等。

理解怎样着眼于时间间隔有助于你轻松的理解我的不同的日期计算例子。

一个月的第一天第一个例子,我将告诉你如何从当前日期去这个月的最后一天。

请注意:这个例子以及这篇文章中的其他例子都将只使用DATEDIFF和DA TEADD函数来计算我们想要的日期。

每一个例子都将通过计算但前的时间间隔,然后进行加减来得到想要计算的日期。

Delphi 日期时间函数详解

Delphi 日期时间函数详解

,大于等于这个值则认为事本世纪,否则认为是下世纪,下面给出几个例子说明:
DateTimeToString 过程:
FormatDateTime 函数:
定义:procedure DateTimeToString(var Result: string; const Format: string;
D
ateTime: TDateTime);
function TimeToStr(Time: TDateTime): string; function TimeToStr(Time: TDateTime): string; 作用:将一个 TDateTime 类型的数转换成字符串,DateTimeToStr 转换日期和时间, Date
ToStr 只转换日期,TimeToStr 只转换时间。转换后的输出效果为 YYYY-M-D H:M: S StrToDateTime 函数 StrToDate 函数 StrToTime 函数 定义:function StrToDateTime(const S: string): TDateTime;
通过共
享变量取得输出字符串,值在 Result 中,一个是通过返回值取得输出字符串,
DateTime
参数是希望输出的日期值,Format 由格式标志与附加字符串组合而成。附加字串
用””
圈起,就像 C 中的 Printf 函数.如“今天是 2002 年 5 月 5 日,星期五”的 Format
值就是 ‘”
mm
:用两位整数显示月份,不足两位的用 0 补足(01-12)
mmm
:使用缩略方式显示月份名称,英文版显示为 Jan-Dec,中文
版同 mmmm
mmmm :使用完整方式显示月份名称,英文版显示为

Delphi日期时间函数详解

Delphi日期时间函数详解

Delphi⽇期时间函数详解各种时间类型之间的转换函数●DateTimeToFileDate函数:定义:DateTimeToFileDate(DateTime: TDateTime): Integer;作⽤:将⼀个TDateTime类型的时间转化为Dos环境中的时间,Dos环境下对时间的访问⽅法和VCL中的TdateTime类型不⼀样,在进⾏⽂件操作时,为了保持时间的⼀致性,需要使⽤DateTimeToFileDate函数进⾏转化,返回的Integer的值就是Dos下的⽤于描述时间的值。

●DateTimeToSystemTime 过程:定义:procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TS ystemTime);作⽤:将⼀个TDateTime类型的时间转换为Win API函数所使⽤的TSystemTime类型,在使⽤WinApi函数操纵时间时⽤到。

●SystemTimeToDateTime 函数:定义:function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTim e;作⽤:将⼀个在WinApi函数中得到的TSysTemTime类型的数转换为TDateTime类型。

●DateTimeToTimeStamp 函数: TimeStampToDateTime 函数:定义:DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime;作⽤:⽤于在TDataTime类型与TTimeStamp之间进⾏互相转换。

TDataTime ⽤⼀个doubl e描绘⼀个时间,⽽TTimeStamp则是采⽤两个整形数分别描述时间。

vfp时间函数 加减

vfp时间函数 加减

vfp时间函数加减在 Visual FoxPro (VFP) 中,可以使用日期和时间函数来进行日期的加减操作。

1. 日期加法:如果你想给一个日期加上一定的天数,可以使用 `DATE()` 函数和 `+` 运算符。

例如,给当前日期加上 5 天:```vfplocal dateVar = date() + 5dateVar```2. 日期减法:同样地,如果你想从一个日期减去一定的天数,也可以使用 `DATE()` 函数和 `-` 运算符。

例如,从当前日期减去 5 天:```vfplocal dateVar = date() - 5dateVar```3. 时间加法与减法:对于时间的加减,可以使用 `TIME()` 函数。

但请注意,`TIME()` 返回的是从午夜开始的秒数,所以你需要将其转换为时间格式才能更容易理解。

例如,给当前时间加上 30 分钟:```vfplocal timeVar = time() + 30/60timeVar```从当前时间减去 30 分钟:```vfplocal timeVar = time() - 30/60timeVar```4. 日期和时间一起操作:如果你想同时进行日期的加减和时间的加减,可以先分别计算日期和时间部分,然后再组合起来。

例如,给今天的中午加上 1 小时:```vfplocal datePart = date()local timePart = time() + 1/24local finalTime = datetime(datePart, timePart)finalTime```这只是 VFP 中日期和时间函数的基础用法。

VFP 还提供了许多其他与日期和时间相关的函数,可以用于更复杂的计算和操作。

delphi时间日期函数

delphi时间日期函数
//传回上个月的最后一天
function GetFirstDayForPeriorMonth (const DT :TDateTime): TDateTime;
//取得上个月份的第一天
function ROCDATE(DD:TDATETIME;P:integer):string;
{转换某日期为民国0YYMMDD 型式字符串,例如:ROCDATE(Now,0)='900304' }
//传回西洋日期的格式MM/DD/YY
function GetMDY (const DT: TDateTime): String;
//--- 日期型的转换 ---
//日期转成字符串
//如果是错误将传一空值
function Date2Str (const DT: TDateTime): String;
//将英文的月份转成整数值的月
//例如EMonthToInt('JANUARY')=1
function EMonthToInt (const Month: string): Integer;
function GetCMonth(const DT: TDateTime): String;
//传回中文显示的月份
const
OneDay = 1.0;
OneHour = OneDay / 24.0;
OneMinute = OneHour / 60.0;
OneSecond = OneMinute / 60.0;
//传回日期值的日期
function GetDay (const DT: TDateTime): Word;
//:传回日期值的月份

delphi计算两个时间差

delphi计算两个时间差

delphi计算两个时间差作者:admin日期:2017/12/31 23:08:00uses DateUtils;varS1, S2: string;T1, T2: TDateTime;D, H, M, S: Integer;Value: Int64;beginS1 := '2015/09/23 15:44:50';S2 := '2013/09/22 16:47:51';T1 := StrToDateTime(S1);T2 := StrToDateTime(S2);Value := SecondsBetween(T1, T2);D := Value div SecsPerDay; // 取一天有多少秒H := Value mod SecsPerDay div SecsPerHour; / / 取一天有多少秒M := Value mod SecsPerDay mod SecsPerHour div SecsPer Min;S := Value mod SecsPerDay mod SecsPerHour mod SecsPer Min;Caption := Format('%.2d天 %.2d:%.2d:%.2d', [D, H, M, S]); / /%.2d没有两位补全,若没有'.'则显示实际位数memo1.Lines.Add(caption);end;经过上面可以实现两个时间相减的功能,然后将其写成函数为:function GetSubDateTime(S1, S2:string): string;varT1, T2: TDateTime;D, H, M, S: Integer;Value: Int64;beginT1 := StrToDateTime(S1);T2 := StrToDateTime(S2);Value := SecondsBetween(T1, T2);D := Value div SecsPerDay;H := Value mod SecsPerDay div SecsPerHour;M := Value mod SecsPerDay mod SecsPerHour div SecsPer Min;S := Value mod SecsPerDay mod SecsPerHour mod SecsPer Min;result := Format('%.2d天 %.2d:%.2d:%.2d',[D, H, M, S]);end;<br><br>调用:<br>var<br>Caption: string;<br>begi n<br> Caption := GetSubDateTime(S1, S2);<br> memo1.liens. add(Caption);<br>end;上面就可以直接调用函数计算差值,若要想计算动态的时间差值就使用一个计时器Timer,代码如下:procedure TForm2.Timer1Timer(Sender: TObject);varS1, S2: string;beginS1 := FormatDateTime('yyyy/mm/dd hh:mm:ss', now()); / / 我用的XE,所以提前出来的系统时间是这种格式S2 := '2015/9/22 01:02:03'; // 这里时间要和获取到的系统时间一致GetSubDateTime(S1, S2);Memo1.Lines.Add(GetSubDateTime(S1, S2));end;。

delphi中SQL中日期的处理

SQL 中日期的处理通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。

你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DA TEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。

在使用本文中的例子之前,你必须注意以下的问题。

大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。

第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。

所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7。

假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。

你可以通过@@DATEFIRST函数来检查第一天设置。

为了理解这些例子,我们先复习一下DATEDIFF和DA TEADD函数。

DATEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。

DATEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期。

要了解更多的DATEDIFF和DATEADD函数以及时间间隔可以阅读微软联机帮助。

使用DA TEDIFF和DA TEADD函数来计算日期,和本来从当前日期转换到你需要的日期的考虑方法有点不同。

你必须从时间间隔这个方面来考虑。

比如,从当前日期到你要得到的日期之间有多少时间间隔,或者,从今天到某一天(比如1900-1-1)之间有多少时间间隔,等等。

理解怎样着眼于时间间隔有助于你轻松的理解我的不同的日期计算例子。

一个月的第一天第一个例子,我将告诉你如何从当前日期去这个月的最后一天。

请注意:这个例子以及这篇文章中的其他例子都将只使用DA TEDIFF和DATEADD函数来计算我们想要的日期。

每一个例子都将通过计算但前的时间间隔,然后进行加减来得到想要计算的日期。

DELPHI 内存 数学 日期 函数

四、内存、指针操作函数在编程中,动态数组为我们处理数据带来了很大的方便。

Windows API函数也为增强程序的功能提供了强有力的保障。

当我们在使用这些动态数组及API 函数时,常常需要动态分配内存空间,这样动态数组才能被我们使用,API函数才能正确的返回结果。

因此,这些函数是必不可少的。

.1.AllocMem功能说明:分配内存空间并自动初始化为零。

如果不需要初始化为零,可以使用GetMem代替AllocMem。

.参考实例:.var.Buffer: PChar;.begin.Buffer := AllocMem(256); // 分配大小为256个字节的内存空间.end;.2.Dispose功能说明:释放为指针分配的内存空间。

.参考实例:.var.P: Pinteger; // 声明一个Integer(整型)指针.begin.New(P);.P^ := 100;.Dispose(P) // 释放内存.end;.3.FreeMem功能说明:释放分配的内存空间。

.参考实例:.var.Buffer: Pchar;.begin.GetMem(Buffer, 256); // 分配大小为256个字节的内存空间。

.FreeMem(Buffer); // 释放内存空间.end;.4.GetMem功能说明:分配内存空间。

.参考实例:.var.Buffer: PChar;.begin.GetMem(Buffer, 256); // 分配大小为256个字节的内存空间。

. end;.5.New功能说明:为指针分配内存空间。

.参考实例:.var.P: PInteger; // 声明一个Integer(整型)指针.begin.New(P); // 分配内存.P^ := 100; // 赋值.end;.五、数学运算函数我们在编写跟数学紧密相关的程序时,数学运算函数将大有用处。

比如图像处理软件,就会大量用到这些数学运算函数。

[中学]delphi日期函数

delphi 日期函数1、常用日期方法(下面的GetDate() = '2006-11-08 13:37:56.233') (1)DATENAME ( datepart ,date )返回表示指定日期的指定日期部分的字符串。

Datepart详见下面的列表.SELECT DateName(day,Getdate()) –返回8(2)DATEPART ( datepart , date )返回表示指定日期的指定日期部分的整数。

SELECT DATEPART(year,Getdate()) –返回2006(3)DATEADD (datepart , number, date )返回给指定日期加上一个时间间隔后的新datetime 值。

SELECT DATEADD(week,1,GetDate()) --当前日期加一周后的日期(4)DATEDIFF ( datepart , startdate , enddate )返回跨两个指定日期的日期边界数和时间边界数。

SELECT DATEDIFF(month,'2006-10-11','2006-11-01') --返回1(5)DAY ( date )返回一个整数,表示指定日期的天datepart 部分。

SELECT day(GetDate()) –返回8(6)GETDATE()以datetime 值的SQL Server 2005 标准内部格式返回当前系统日期和时间。

SELECT GetDate() --返回2006-11-08 13:37:56.233(7)MONTH ( date )返回表示指定日期的“月”部分的整数。

SELECT MONTH(GETDATE()) --返回11(8)YEAR ( date )返回表示指定日期的“年”部分的整数。

SELECT YEAR(GETDATE()) --返回20062、取特定日期(1)获得当前日期是星期几SELECT DateName(weekday,Getdate()) --Wednesday(2)计算哪一天是本周的星期一SELECT DATEADD(week, DATEDIFF(week,'1900-01-01',getdate()), '1900-01-01') --返回2006-11-06 00:00:00.000或SELECT DATEADD(week, DATEDIFF(week,0,getdate()),0) (3)当前季度的第一天SELECT DATEADD(quarter, DATEDIFF(quarter,0,getdate()), 0)—返回2006-10-01 00:00:00.000(4)如何取得某个月的天数SELECT Day(dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,'2006-02-03')+1,0))) —返回28(5)一个季度多少天declare @m tinyint,@time smalldatetimeselect @m=month(getdate())select @m=case when @m between 1 and 3 then 1when @m between 4 and 6 then 4when @m between 7 and 9 then 7else 10 endselect@time=datename(year,getdate())+'-'+convert(varchar(10),@m)+ '-01'select datediff(day,@time,dateadd(mm,3,@time)) —返回92(6)获得年月日(yyyy-MM-dd)SELECT CONVERT(VARCHAR(10),GETDATE(),120) –返回2006-11-083、其它(1)--下面的示例将日期指定为数字。

Delphi 常用日期与时间函数

Delphi 常用日期与时间函数1 获取特定的日期与时间本小节将为您介绍Delphi 所提供的获取特定日期与时间的函数.这些函数稍后将有详细的范例说明.笔者这里将以列表的方式先说明每一个函数所代表的意义,如图示:函数名称单元文件所代表的意义NowSysUtils此函数可返回现在的日期与时间,其返回值为TDateTime类型DateSysUtils此函数可返回现在的日期,其返回值为TDateTime类型TimeSysUtils此函数可返回现在的时间,其返回值为TDateTime类型TodayDateUtils此函数可返回今天的日期,其返回值为TDateTime类型,此函数的结果与Date函数相同. TomorrowDateUtils此函数可返回昨天的日期,其返回值为TDateTime类型YesterdayDateUtils此函数可返回明天的日期,其返回值为TDateTime类型CurrentyearSysUtils此函数可返回现在所属的年度,其返回值为4的整数.例如:2001HoursperdaySysUtils此常数定义每天的小时数.HoursPerDay =24;MinsperdaySysUtils此常数定义每天的分钟数.MinsPerDay = MinsPerDay*60SecsperdaySysUtils此常数定义每天的秒数.SecPerDay = MinsPerDay *60msecsperdaySysUtils此常数定义每天的毫秒数.MSecsPerDay =SecsperDay*1000Now (返回当前的日期时间)引用单元:SysUtils函数声明:Function Now : TDateTime;范例D-1Procedure TForm1.Button1Click(Sender: TObject); VarMyDateTime : TDateTime;beginMyDateTime :=Now;Showmessage(DateTimeToStr(MyDateTime)); end;Date(返回当前的日期)引用单元:SysUtils函数声明:Function Day :TDateTime;范例D-2Procedure TForm1.Button1Click(Sender: TObject); VarMyDateTime : TDateTime;beginMyDateTime :=Date;Showmessage(DateTimeToStr(MyDateTime)); end;Time(返回当前的时间)引用单元:SysUtils函数声明:Function Time:TDateTime;范例D-3Procedure TForm1.Button1Click(Sender: TObject); VarMyDateTime : TDateTime;beginMyDateTime :=Time;Showmessage(DateTimeToStr(MyDateTime)); end;Today(返回今天的日期)引用单元:DateUtils函数声明:Function Today :TDateTime;范例D-4Procedure TForm1.Button1Click(Sender: TObject); VarMyDateTime : TDateTime;Begin//uses DateUtilsMyDateTime :=Today;Showmessage(DateTimeToStr(MyDateTime)); end;Tomorrow(返回明天的日期)引用单元:DateUtils函数声明:Function Tomorrow:TDateTime;范例D-5Procedure TForm1.Button1Click(Sender: TObject);VarMyDateTime : TDateTime;Begin//uses DateUtilsMyDateTime :=Tomorrow;//MyDateTime : Now +1; //两者相同Showmessage(DateTimeToStr(MyDateTime)); //不包含时间部分end;Yesterday(返回昨天的日期)引用单元:DateUtils函数声明:Function Yesterday :TDateTime;范例D-6Procedure TForm1.Button1Click(Sender: TObject);VarMyDateTime : TDateTime;Begin//uses DateUtilsMyDateTime :=Yesterday;//MyDateTime : Now -1; //两者相同Showmessage(DateTimeToStr(MyDateTime)); //不包含时间部分end;CurrentYear(返回现在所属的年度)引用单元:SysUtils函数声明:Function CurrentYear :Word;范例D-7Procedure TForm1.Button1Click(Sender: TObject);VarThisYear: Word;Beginthis year := CurrentYear;Showmessage(IntToStr(ThisYear)); // 4位整数end;HoursPerDay,MinsPerDay,SecsPerDay及MsecsPerDay等日期与时间常数. 引用单元:SysUtils函数声明:Function CurrentYear:Word;范例D-8Procedure TForm1.Button1Click(Sender: TObject);BeginShowmessage('每天的小时数=' + IntToStr(HoursperDay)); //24 Showmessage('每天的分钟数=' + IntToStr(MinsperDay)); // 1440Showmessage('每天的秒数=' + IntToStr(SecsperDay)); //24Showmessage('每天的毫秒数=' + IntToStr(MSecsperDay)); //24end;D.2 日期处理函数:函数名称单元文件所代表的意义YearOfDateUtils此函数可获取TDateTime格式中的年度,其返回值为Word类型.YearsBeTweenDateUtils此函数可返回两个指定日期间的年份,一年以365.25天为计算单位.其返回值不包含小数部分YearSpanDateUtils此函数可返回两个指定日期间的年份,一年以365.25天为计算单位.其返回值包含小数部分StartOfAYearDateUtils此函数可返回特定年份的第一天EndOfAYearDateUtils此函数可返回特定年份的最后一天StrtOfTheYearDateUtils此函数可返回特定日期的该年第一天EndOfTheYearDateUtils此函数可返回特定日期的该年最后一天IncYearDateUtils此函数可将指定的TDateTime变量加上指定的年度,其默认值为1年MonthOfDateUtils此函数可获取TDateTime格式中的月份,其返回值为Word类型MonthOfTheYearDateUtils此函数可获取TDateTime格式中的月份,其返回值为Word类型MonthBetweenDateUtils次函数可返回两个指定日期间的月份数,一个月以30.4375天为计算单位.其返回值不包含小数部分MonthSpanDateUtils次函数可返回两个指定日期间的月份数,一个月以30.4375天为计算单位.其返回值包含小数部分StartOfAMonthDateUtils此函数可返回特定年月的第一天EndOfAMonthDateUtils此函数可返回特定年月的最后一天StartOfTheMonthDateUtils此函数可返回指定日期的该年的第一天EndOfTheMonthDateUtils此函数可返回指定日期的该年的最后一天IncMonthDateUtils此函数可将指定的TDateTime变量加上指定的月份,其默认值为加上1个月IncAMonthDateUtils此函数可将指定的年月日加上指定的月份,其默认值为加上1个月DaysInAYearDateUtils此函数可返回指定年份的总天数DaysInYearDateUtils此函数可返回指定TDateTime变量中该年分的总天数DaysInAMonthDateUtils此函数可返回指定月份的总天数DaysInMonthDateUtils此函数可返回指定TDateTime变量中该月份的总天数DaysOfDateUtils此函数可获取TDateTime格式中的日期,其返回值为Word类型DaysBetweenDateUtils此函数可获取格式中的日期,其返回值不包含小数部分DaySpanDateUtils此函数可返回两个指定日期间的天数,其返回值包含小数部分DayOfTheYearDateUtils此函数可返回指定TDateTime变量为该年的第几天.例如2月1日则返回32 DayOfTheMonthDateUtils此函数可返回指定TDateTime变量为该月的第几天,其返回值介于1到31 DayOfTheWeekDateUtils此函数可返回指定TDateTime变量为该周的第几天,其返回值介于1到7.星期一为第一天. DayOfWeekDateUtils此函数可返回指定TDateTime变量为该周的第几天,其返回值介于1到7.星期日为第一天. StartOfADayDateUtils此函数可返回指定日期一天的开始时间,其返回值为TDateTime类型.其时间默认为12:00:000 AMEndOfADayDateUtils此函数可返回指定日期一天的结束时间,其返回值为TDateTime类型.其时间默认为11:59:999 PMStartOfTheDayDateUtils此函数可返回指定TDateTime变量的一天开始时间,其返回值为TDateTime类型.其时间默认为:12:00:000 AMEndOfTheDayDateUtils此函数可返回指定TDateTime变量的一天结束时间,其返回值为TDateTime类型.其时间默认为11:59:999PMIncDayDateUtils此函数可为指定日期加上特定的天数,其返回值为TDateTime类型,其默认天数为1天WeeksInAYearDateUtils此函数可返回指定年度的周数,其返回值不是52就是53WeeksInYearDateUtils此函数可返回指定TDateTime变量的周数,其返回值不是52就是53WeekOfDateUtils次函数可返回指定日期为该年的第几周,其返回值为1~53WeekOfTheYearDateUtils次函数可返回指定日期为该年的第几周,其返回值为1~53WeekOfTheMonthDateUtils次函数可返回指定日期为该月的第几周,其返回值为1~6WeeksBetweenDateUtils此函数可返回两个指定日期间的周数,其返回值不包含小数部分WeekSpanDateUtils此函数可返回两个指定日期间的周数,其返回值包含小数部分StartOfAweekDateUtils此函数可返回指定日期一周的开始时间,其返回值为TDateTime类型.其时间默认为12:00:000 PMEndOfAWeekDateUtils此函数可返回指定日期一周的结束时间,其返回值为TDateTime类型.其时间默认为11:59:999 PMStartOfTheWeekDateUtils此函数可返回指定TDateTime变量的一周开始时间,其返回值为TDateTime类型.其其时间默认为12:00:000 AMEndOfTheWeekDateUtils此函数可返回指定TDateTime变量的一周结束时间,其返回值为TDateTime类型.其时间默认为11:59:999 AMIncWeekDateUtils此函数可将指定日期加上指定周数,其返回值为TDateTime类型YearOf(返回指定日期的年度)引用单元:DateUtils函数声明:Function YearOf ( const AValue : TDateTime) :Word;范例D-9Procedure TForm1.Button1Click(Sender: TObject);Begin//三者都相同Showmessage('年度=' + IntToStr(YearOf(Now)));Showmessage('年度=' + IntToStr(YearOf(Date)));Showmessage('年度=' + IntToStr(YearOf(Today)));end;YearsBetween(返回两个指定日期间的年份)引用单元:DateUtils函数声明:Function YearsBetween ( const ANow, AThen : TDateTime) :Integer;范例D-10Procedure TForm1.Button1Click(Sender: TObject);Begin//不包含小数,一年以365.25天为计算单位Showmessage('几年=' + IntToStr(YearsBetween(Now,Now+560))); //1end;YearSpan(返回两个指定日期间的年份)引用单元:DateUtils函数声明:Function YearsSpan( const ANow , AThen : TDateTime) :Double; 范例D-11Procedure TForm1.Button1Click(Sender: TObject);Begin//包含小数,一年以365.25天为计算单位Showmessage('几年=' + FloatToStr(YearSpan(Now,Now+560)));//1.53….end;StartOfAYear(返回特定年份的第一天)引用单元:DateUtils函数声明:Function StartOfAYear ( const AYear) : TDateTime;范例D-12Procedure TForm1.Button1Click(Sender: TObject);BeginShowmessage(DateTimeToStr(StartOfAYear(2001)));//2001/1/1 早上12:00:00end;EndOfAYear(返回特定年份的最后一天)引用单元:DateUtils函数声明:Function EndOfAYear ( const AYear) : TDateTime;范例D-13Procedure TForm1.Button1Click(Sender: TObject);BeginShowmessage(DateTimeToStr(EndOfAYear(2001)));//2001/12/31 下午11:59:59end;StartOfTheYear(返回指定日期的该年的第一天)引用单元:DateUtils函数声明:Function StartOfTheYear ( const AValue : TDateTime) :TDateTime; 范例D-14Procedure TForm1.Button1Click(Sender: TObject);BeginShowmessage(DateTimeToStr(StarOfTheYear(Now)));//指定的年度/1/1早上12:00:00end;EndOfTheYear(返回指定日期的该年的最后一天)引用单元:DateUtils函数声明:Function EndOfTheYear ( const AValue : TDateTime) :TDateTime; 范例D-15Procedure TForm1.Button1Click(Sender: TObject);BeginShowmessage(DateTimeToStr(StarOfTheYear(Now)));//指定年度/12/31下午11:59:59end;IncYear(将指定的TDateTime变量加上指定的年)引用单元:DateUtils函数声明:Function IncYear ( const AValue : TDateTimel; const ANumberOfYears : Integer =1) :TDateTime;范例D-16Procedure TForm1.Button1Click(Sender: TObject);varmyDateTime : TDateTime;BeginmyDateTime : = IncYear(Now,3); //往后加3年Showmessage(DateTimeToStr(myDateTime));End;MonthOf(获取TDateTime格式中的月份)引用单元:DateUtils函数声明:Function MonthOf ( const AValue : TDateTime) :Word;范例D-17Procedure TForm1.Button1Click(Sender: TObject);varmyDateTime : TDateTime;m : Integer;BeginmyDateTime : = Now;//两个函数获取相同的结果m := MonthofTheYear(myDateTime);Showmessage(IntToStr(m));end;MonthOfTheYear(获取TDateTime格式中的月份)引用单元:DateUtils函数声明:Function MonthOfTheYear ( const AValue : TDateTime) :Word;范例D-18Procedure TForm1.Button1Click(Sender: TObject);vari :Integer;f :Double;Begini := MonthsBetween(Now,Now+89);//差89天Showmessage(IntToStr(i));//2f := MonthSpan(Now,Now+89);//差89天Showmessage(FloatToStr(f));//2.924…End;MonthsBetween(返回两个指定日期间的月份数)引用单元:DateUtils函数声明:Function MonthsBetween ( const ANow, AThen : TDateTime) :Integer;MonthSpan(返回两个指定日期间的月份数)引用单元:DateUtils函数声明:Function MonthSpan ( const ANow, AThen : TDateTime) :Double;StartOfAMonth(返回特定年月的第一天)引用单元:DateUtils函数声明:Function StartOfAMonth ( const AYear, AMonth : Word) : TDateTime; EndOfAMonth(返回特定年月的最后一天)引用单元:DateUtils函数声明:Function EndOfTheMonth ( const AYear, AMonth : Word) : TDateTime; StartOfTheMonth(返回特定年月的第一天)引用单元:DateUtils函数声明:Function StartOfTheMonth ( const AValue : TDateTime) :TDateTime; EndOfTheMonth(返回特定年月的最后一天)引用单元:DateUtils函数声明:Function EndOfTheMonth ( const AValue : TDateTime) :TDateTime;范例D-19varmyDateTime :TDateTime;Year,Month :Integer;BeginYear := YearOf(Now);Month :=MonthOf(Now);//找出当前月份的第一天myDateTime := StartOfAMonth(Year,Month);Showmessage(DateTimeToStr(myDateTime));//找出当前月份的最后一天myDateTime := EndOfAMonth(Year,Month);Showmessage(DateTimeToStr(myDateTime));//找出当前月份的第一天myDateTime := StartOfTheMonth(Now);Showmessage(DateTimeToStr(myDateTime));//找出当前月份的最后一天myDateTime := EndOfTheMonth(Now);Showmessage(DateTimeToStr(myDateTime));end;IncMonth(指定的TDateTime变量加上指定的月份)引用单元:DateUtils函数声明:Function IncMonth ( const Date : TDateTime ; NumberOfMonths : Integer = 1) :TDateTime;IncAMonth(指定的年月日变量加上指定的月份)引用单元:DateUtils函数声明:Procedure IncAMonth ( Var Year, Month , Day : Word ; NumberOfMonths : Integer =1 ); 范例D-20varmyDateTime :TDateTime;Year,Month,Day :Word;Begin//加上指定的月份myDateTime := IncMonth(Now,3);//加上三个月Showmessage(DateTimeToStr(myDateTime));Year := YearOf(Now);Day := Dayof(Now);//加上指定的月份IncAMonth(Year,Month,Day,3);Showmessage('Month'+IntToStr(Month));end ;DaysInAYear(返回指定年份的总天数)引用单元:DateUtils函数声明:Function DaysInAYear ( const AYear : Word) :Word; DaysInYear(返回指定TDateTime变量中该年份的总天数)引用单元:DateUtils函数声明:Function MinuteOfTheHour ( const AValue : TDateTime) :Word; DaysInAMonth(返回指定月份的总天数)引用单元:DateUtils函数声明:Function DaysInAMonth ( const AYear , AMonth : Word) :Word; DaysInMonth(返回指定TDateTime变量中该月份的总天数)引用单元:DateUtils函数声明:Function DaysInMonth ( const AValue : TDateTime) :Word;范例D-21procedure TForm1.Button1Click(Sender : TObfect) ;varmyDateTime : TDateTime ;Year, Month : Word ;I : Integer ;BeginYear := YearOf(Now) ;//获取指定年份的总天数i := DaysInAYear(Year) ;Showmessage('DaysInAYear='+IntToStr (i)) ;i := DaysInYear(now) ;Showmessage('DaysInMonth =' + IntToStr (i)) ;//获取指定月份的总天数Month := MonthOf(Now) ;i := DaysInMonth(Now) ;Showmessage( 'DaysInMonth = '+IntToStr(i)) ;end;DaysOf(获取TDateTime格式中的日期)引用单元:DateUtils函数声明:Function DaysOf ( const AValue : TDateTime) :Word;范例D-22procedure TForm1.Button1Click(Sender : TObfect) ;varDay : Word ;begin//获取指定TDateTime的日期Day := DayOf(Now) ;Showmessage(IntToStr(Day)) ;end ;DaysBetween(返回两个指定日期间的天数)引用单元:DateUtils函数声明:Function DaysBetween( const ANow, AThen : TDateTime) :Integer; DaySpan(返回两个指定日期间的天数)引用单元:DateUtils函数声明:Function DaySpan ( const ANow , AThen : TDateTime) :Double;范例D-23vari : Integer ;f : Double ;begin//获取两个日期的天数f:=DaySpan(Now-100 , Now) ;i := DaysBetween(Now-100 , Now) ;Showmessage(intToStr(i)) ; //100Showmessage(FloatToStr(f)) ; //100end ;DayOfTheYear(返回指定TDateTime变量为该年的第几天)引用单元:DateUtils函数声明:Function DayOfTheYear ( const AValue : TDateTime) :Word; DayOfTheMonth(返回指定TDateTime变量为该月的第几天)引用单元:DateUtils函数声明:Function DayOfTheMonth ( const AValue : TDateTime) :Word; DayOfTheWeek(返回指定TDateTime变量为该周的第几天)引用单元:DateUtils函数声明:Function DayOfTheWeek ( const AValue : TDateTime) :Word; DayOfWeek(返回指定TDateTime变量为该周的第几天)引用单元:DateUtils函数声明:Function DayOfWeek ( Date : TDateTime) :Integer;范例D-24procedure TForm1.Button1Click(Sender : TObfect) ;vari : Integer ;begin//返回指定TDateTime为该年的第几天i := DayOfTheYear(Now) ;Showmessage(IntToStr(i)) ;//返回指定TDateTime为该月的第几天i := DayOfTheMonth(Now) ;Showmessage(IntToStr(i)) ;//返回指定TDateTime为该周的第几天(星期一为第一天)i := DayOfTheWeek(Now) ;Showmessage(IntToStr(i)) ;end ;StartOfADay(返回指定日期一天的开始)引用单元:DateUtils函数声明:Function StartOfADay ( const AYear , AMonth, ADay : Word) :TDateTime; Function StartOfADay ( const AYear , ADayOfYear : Word) :TDateTime;范例D-25procedure TForm1.Button1Click(Sender : TObfect) ;vartmpDateTime : TDateTime ;AYear , ADayOfYear , AMonth , ADay :Word ;beginAYear := 2001 ; //指定年度ADayOfYear := 32 ;.//第32天tmpDateTime :=StartOfADay(AYear , ADayOfYear) ;Showmessage(DateTimeToStr(tmpDateTime)) ; //2001/02/01AMonth := 1 ;ADay := 32 ; //从AMonth第一天起第32天TmpDateTime := StartOfADay(AYear , AMonth , ADay) ;Showmessage(DateTimeToStr(tmpDateTime)) ; //2001/02/01end ;EndOfADay(返回指定日期一天的结束时间)引用单元:DateUtils函数声明:Function EndOfADay ( const AYear, AMonth,ADay : Word) : TDateTime; Function EndOfADay ( const AYear, ADayOfYear : Word) : TDateTime;范例D-26procedure TForm1.Button1Click(Sender : TObfect) ;vartmpDateTime : TDateTime ;AYear , ADayOfYear , AMonth , ADay : Word ;beginAYear := 2001 ; //指定年度ADayOfYear := 32 ; //第32天tmpDateTime := EndOfADay(AYear , AMonth , ADay) ;Showmessage(DateTimeToStr(tmpDateTime)) ;//2001/02/01 PM 11:59:59end ;StartOfTheDay(返回指定TDateTime变量的一天开始时间)引用单元:DateUtils函数声明:Function StartToTheDay ( const AValue : TDateTime) :TDateTime;EndOfTheDay(返回指定TDateTime变量的一天结束时间)引用单元:DateUtils函数声明:Function EndOfTheDay ( const AValue : TDateTime) : TDateTime;范例D-27procedure TForm1.Button1Click(Sender : TObfect) ;vartmpDateTime : TDateTime ;begintmpDateTime := StartOfTheDay(Now) ;Showmessage(DateTimeToStr(tmpDateTime)) ;//YYYY/MM/DD AM 12:00:00tmpDateTime := EndOfTheDay(Now) ;Showmessage(DateTo //YYYY/MM/DD PM 11:59:59end ;IncDay(可为指定日期加上特定的天数)引用单元:DateUtils函数声明:Function IncDay ( const AValue : TDateTime ; const ANumberOfDays : Integer =1) :TDateTime;范例D-28procedure TForm1.Button1Click(Sender : TObfect) ;vartmpDateTime : TDateTime ;begintmpDateTime := Incday(Now,5) ;Showmessage(DateTimeToStr(tmpDateTime)) ;//时间部分并不会改变end ;WeeksInAYear(返回指定年度的周数)引用单元:DateUtils函数声明:Function WeeksInAYear( const AYear : Word) :Word;WeeksInYear(返回指定TDateTime变量的周数)引用单元:DateUtils函数声明:Function WeeksInYear ( const AValue : TDateTime) :Word;范例D-29procedure TForm1.Button1Click(Sender : TObfect) ;varweeks : word ;beginweeks :=weeksInAYear(2001) ;Showmessage(IntToStr(weeks)) ; //52Weeks := WeeksInYear(Now) ;Showmessage(IntToStr(weeks)) ; //52end ;WeeksOf(返回指定日期为该年的第几周)引用单元:DateUtils函数声明:Function WeekOf ( const AValue : TDateTime) :Word; WeekOfTheYear(返回指定日期为该年的第几周)引用单元:DateUtils函数声明:Function WeekOfTheYear ( const AValue : TDateTime) :Word; WeekOfTheMonth(返回指定日期为该月的第几周)引用单元:DateUtils函数声明:Function WeekOfTheMonth ( const AValue : TDateTime) :Word;范例D-30Procedure TForm1.Button1Click(Sender: TObject);VarI : Word;BeginI :=WeekOf(Now);Showmessage('weekof=' + IntToStr(i));i := WeekOfTheYear(Now );Showmessage('WeekOfTheYear =' + IntToStr(i));I := WeekOfTheMonth(Now);Showmessage('WeekOfTheMonth=' + IntToStr(i));end;WeeksBetween(返回两个指定日期间的周数)引用单元:DateUtils函数声明:Function WeeksBetween ( const ANow , AThen, : TDateTime) :Integer; WeekSpan(返回两个指定日期间的周数)引用单元:DateUtils函数声明:Function WeekSpan( const ANow ,AThen : TDateTime) :Double;范例D-31Procedure TForm1.Button1Click(Sender: TObject);VarI : Integer;F :Double;BeginI :=WeeksBetween(Now , Now + 29);Showmessage(InttoStr(i)); //4F := WeekSpan(Now , Now + 29);Showmessage(FloatToStr(f)); //4.14…end;StartOfAWeek(返回指定日期一周的开始时间)引用单元:DateUtils函数声明:Function StartOfAWeek ( const AYear , AWeekOfYear : Word; const ADayOfWeek : Word = 1) : TDateTime;EndOfAWeek(返回指定日期一周的结束时间)引用单元:DateUtils函数声明:Function EndOfAWeek ( const AYear , AWeekOfYear : Word; const ADayOfWeek : Word = 7) : TDateTime;范例D-32Procedure TForm1.Button1Click(Sender: TObject);VartempDateTime: TDateTime;AYear , AWeekOfYear , ADayOfWeek : Word;BeginAYear := 2001;AWeekOfYear :=2; //第二周ADayOfWeek :=1; //第一天tempDateTime := StartofAweek(AYear, AWeekOfYear, ADayOfWeek);//2001/01/08 AM 12:00:00:00showmessage(DateTimeToStr(tempDateTime));//AYearf := 2001;//AWeekofYear :=2; //第二周ADayOfWeek : =7 ;// 第七天tempDatetime := EndOfAWeek(AYear, AWeekOfYear, AdayOfWeek);//2001/01/14 Pm 11:59:59Showmessage(DateTimeToStr(tempDateTime)); //4.14…end;StartOfTheWeek(返回指定日期一周的开始时间)引用单元:DateUtils函数声明:Function StartOfTheWeek ( const AValue : TDateTime) :TDateTime; EndOfTheWeek(返回指定日期一周的结束时间)引用单元:DateUtils函数声明:Function EndOfTheWeek ( const AValue : TDateTime) :TDateTime;范例D-33Procedure TForm1.Button1Click(Sender: TObject);VartempDateTime : TDateTime;begintempDateTime :=StartOfTheWeek(Now);//YYYY / MM / DD AM 12:00:00:00Showmessage(DateTimeToStr(tempDateTime));tempDateTime := EndOfTheWeek(Now);//YYYY / MM / DD + 6 PM 11:59 :59Showmessage(DateTimeToStr(tempDateTime));end;IncWeek(将指定日期加上指定周数)引用单元:DateUtils函数声明:Function IncWeek ( const AValue : TDateTime; const ANumberOfWeeks : Integer = 1) :TDateTime;范例D-34:Procedure TForm1.Button1Click(Sender: TObject);VartempDateTime : TDateTime;begintempDateTime :=IncWeek(Now , 5); //加上5周Showmessage(DateTimeToStr(tempDateTime));end;D.3 时间处理函数函数名称单元文件所代表的意义HoursBetweenDateUtils此函数可返回两个指定TDateTime变量间的小时数,返回值不包含小数部分.HourSpanDateUtils此函数可返回两个指定TDateTime变量间的小时数,返回值包含小数部分.HourOfDateUtils此函数可获取TDateTime格式中的小时数,其返回值为Word类型,介于0~23之间HourOfTheYearDateUtils此函数可返回指定TDateTime变量为该年的第几小时HourOfTheMonthDateUtils此函数可返回指定TDateTime变量为该月的第几小时HourOfTheWeekDateUtils此函数可返回指定TDateTime变量为该周的第几小时HourOfTheDayDateUtils此函数可返回指定TDateTime变量为该日的第几小时,返回值介于0~23之间IncHourDateUtils此函数可将指定日期加上指定小时数,其返回值为TDateTime类型MinutesBetweenDateUtils此函数可返回两个指定TDateTime变量间的分钟数,其返回值不包含小数部分MinuteSpanDateUtils此函数可返回两个指定TDateTime变量间的分钟数,返回值包含小数部分MinuteOfDateUtils此函数可获取TDateTime格式中的分钟数,其返回值为Word类型,介于0~59之间MinuteOftheYearDateUtils此函数可返回指定TDateTime变量为该年的第几分钟MinuteOfTheMonthDateUtils此函数可返回指定TDateTime变量为该月的第几分钟MinuteOfTheWeekDateUtils此函数可返回指定TDateTime变量为该周的第几分钟MinuteOfTheDayDateUtils此函数可返回指定TDateTime变量为该日的第几分钟MinuteOfTheHourDateUtils此函数可返回指定TDateTime变量为该小时的第几分钟IncMinuteDateUtils此函数可将指定日期加上指定分钟数,其返回值为TDateTime类型SecondsBetweenDateUtils此函数可返回两个指定TDateTime变量间的秒数,返回值不包含小数部分SecondSpanDateUtils此函数可返回两个指定TDateTime变量间的秒数,返回值包含小数部分SecondOfDateUtils此函数可获取TDateTime格式中的秒数,其返回值为Word类型,介于0~59之间SecondOfTheyearDateUtils此函数可返回指定TDateTime变量为该年的第几秒SecondOfTheMonthDateUtils此函数可返回指定TDateTime变量为该月的第几秒SecondOfTheWeekDateUtils此函数可返回指定TDateTime变量为该周的第几秒SecondOfTheDayDateUtils此函数可返回指定TDateTime变量为该日的第几秒SecondOfTheHourDateUtils此函数可返回指定TDateTime变量为该小时的第几秒SecondOfTheMinuteDateUtils此函数可返回指定TDateTime变量为该分钟的第几秒IncSecondDateUtils此函数可将指定日期加上指定秒数,其返回值为TDateTime类型MilliSecondsBetweenDateUtils此函数可返回两个指定TDateTime变量间的毫秒数,返回值不包含小数部分MilliSecondSpanDateUtils此函数可返回两个指定TDateTime变量间的毫秒数,返回值包含小数部分MilliSecondOfDateUtils此函数可获取TDateTime格式中的毫秒数,其返回值为Word类型,介于0~999之间MilliSecondOfTheYearDateUtils此函数可返回指定TDateTime变量为该年的第几毫秒MilliSecondOfTheMonthDateUtils此函数可返回指定TDateTime变量为该月的第几毫秒MilliSecondOfTheWeekDateUtils此函数可返回指定TDateTime变量为该周的第几毫秒MilliSecondOfTheDayDateUtils此函数可返回指定TDateTime变量为该日的第几毫秒MilliSecondOfTheHourDateUtils此函数可返回指定TDateTime变量为该小时的第几毫秒MilliSecondOfTheMinuteDateUtils此函数可返回指定TDateTime变量为该分钟的第几毫秒MilliSecondOfTheSecondDateUtils此函数可返回指定TDateTime变量为该秒的第几毫秒IncMilliSecondDateUtils此函数可将指定日期加上指定毫秒数,其返回值为TDateTime类型HoursBetween(返回两个指定日期间的小时数)引用单元:DateUtils函数声明:Function HoursBetween ( const ANow , AThen : TDateTime) : Int64;HourSpan(返回两个指定日期间的小时数)引用单元:DateUtils函数声明:Function HourSpan ( const ANow , AThen : TDateTime) :Double; 范例D-35procedure TForm1.Button1Click(Sender : TObfect) ;varHours : Integer ;f : Double ;beginHours := HoursBetween(Now , Now+0.9) ; //加上0.9天Showmessage(FloatToStr(f)) ; //21f := HourSpan(Now , Now+0.9) ; //加上0.9天Showmessage(FloatToStr(f)) ; //21.6….end ;HourOf(获取TDateTime格式中的时数)引用单元:DateUtils函数声明:Function HourOf ( const AValue: TDateTime) :Word; HourOfTheYear(返回指定TDateTime变量为该年的第几小时)引用单元:DateUtils函数声明:Function HourOfTheYear ( const AValue : TDateTime) :Word; HourOfTheMonth(返回指定TDateTime变量为该月的第几小时)引用单元:DateUtils函数声明:Function HourOfTheMonth ( const AValue : TDateTime) :Word; HourOfTheWeek(返回指定TDateTime变量为该周的第几小时)引用单元:DateUtils函数声明:Function HourOfTheWeek ( const AValue : TDateTime) :Word; HourOfTheDay(返回指定TDateTime变量为该日的第几小时)引用单元:DateUtils函数声明:Function HourOfTheDay( const AValue : TDateTime) :Word;范例D-36procedure TForm1.Button1Click(Sender : TObfect) ;varHours : Integer ;BeginHours := HourOf(Now) ;Showmessage('HourOf = '+ IntToStr(Hours)) ;Hours := HourOfTheYear(How) ;Showmessage('HourOfTheYear = '+IntToStr(Hours)) ;Hours := HourOfTheMonth(How) ;Showmessage('HourOfTheMonth = '+IntToStr(Hours)) ;Hours := HourOfTheWeek(How) ;Showmessage('HourOfTheWeek = '+IntToStr(Hours)) ;Hours := HourOfTheDay(How) ;Showmessage('HourOfTheDay = '+IntToStr(Hours)) ;end ;IncHour(将指定日期加上指定小时数)引用单元:DateUtils函数声明:Function IncHour ( const AValue : TDateTime , const ANumberAOfHours : Int64=1) :TDateTime;范例D-37procedure TForm1.Button1Click(Sender : TObfect) ;varTempDateTime : TDateTime ;beginTempDateTime := IncHour(Now, 23) ; //增加23小时Showmessage(DateTimeToStr(TempDateTime)) ;end ;MinuteBetween(返回两个指定TDateTime变量间的分钟数)引用单元:DateUtils函数声明:Function MinuteBetween ( const Anew, AThen : TDateTime) :Int64;MinuteSpan(返回两个指定TDateTime变量间的分钟数)引用单元:DateUtils函数声明:Function MinuteSpan ( const Anew,AThen : TDateTime) :Double;MinuteOf(获取TDateTime格式中的分钟数)引用单元:DateUtils函数声明:Function MinuteOf( const AValue : TDateTime) :Word;范例D-38procedure TForm1.Button1Click(Sender : TObfect) ;vari := Integer ;'f -= Double ;w := Word ;begini := MinutesBetween(Now , Now + 1) ; //增加24小时Showmessage(IntToStr(i)) ; //1440f := MinuteSpan(Now , Now + 1.1) ; //增加24*1.1小时Showmessage(FloatToStr(f)) ; //1583.99….w := MinuteOf(Now) ; //显示当前的分钟数Showmessage(IntToStr(w)) ; //介于0~59之间End ;:MinuteOfTheYear(返回指定TDateTime变量为该年的第几分钟)引用单元:DateUtils函数声明:Function MinuteOfTheYear ( const AValue : TDateTime) :LongWord; MinuteOfTheMonth(返回指定TDateTime变量为该月的第几分钟)引用单元:DateUtils函数声明:Function MinuteOfTheMonth ( const AValue : TDateTime) :Word;MinuteOfTheWeek(返回指定TDateTime变量为该周的第几分钟)引用单元:DateUtils函数声明:Function MinuteOfTheWeek ( const AValue : TDateTime) :Word; MinuteOfTheDay(返回指定TDateTime变量为该日的第几分钟)引用单元:DateUtils函数声明:Function MinuteOfTheDay ( const AValue : TDateTime) :Word;MinuteOfTheHour(返回指定TDateTime变量为该小时的第几分钟)引用单元:DateUtils函数声明:Function MinuteOfTheHour ( const AValue : TDateTime) :Word;范例D-39procedure TForm1.Button1Click(Sender : TObfect) ;varMinutes : Integer ;beginMinutes := MinuteOfTheYear(Now) ;Showmessage('MinuteOfTheYear =' + IntToStr(Minutes)) ;Minutes := MinuteOfTheMonth(Now) ;Showmessage('MinuteOfTheMonth =' + IntToStr(Minutes)) ;Minutes := MinuteOfTheWeek(Now) ;Showmessage('MinuteOfTheWeek =' + IntToStr(Minutes)) ;Minutes := MinuteOfTheDay(Now) ;Showmessage('MinuteOfTheDay =' + IntToStr(Minutes)) ;Minutes := MinuteOfTheHour(Now) ;Showmessage('MinuteOfTheHour =' + IntToStr(Minutes)) ;End ;IncMinute(将指定日期加上指定分钟数)引用单元:DateUtils函数声明:Function IncMinute ( const AValue : TDateTime; const ANumberOfMinutes: Int64 = 1) :TDateTime;范例D-40procedure TForm1.Button1Click(Sender : TObfect) ;varTempDateTime : TDateTime ;BeginTempDateTime := IncMinute(Now ,40) ; //增加40分钟Showmessage(DateTimeToStr(TempDateTime)) ;End ;SecondsBetween(返回两个指定TDateTime变量间的秒数)引用单元:DateUtils函数声明:Function SecondsBetween ( const ANow, AThen : TDateTime) :Int64;SecondSpan(返回两个指定TDateTime变量间的秒数)引用单元:DateUtils函数声明:Function SecondSpan ( const ANow, AThen : TDateTime) :Double;SecondOf(获取TDateTime格式中的秒数)引用单元:DateUtils函数声明:Function SecondOf ( const AValue : TDateTime) :Word;范例D-41procedure TForm1.Button1Click(Sender : TObfect) ;vari : Integer ;f : Double ;w : Word ;begini :=SecondsBetween(Now ,Now + 1) ; //增加24小时Showmessage(IntToStr(i)) ; //86400f := SecondSpan(Now , Now + 1.1) ; //增加24*1.1小时Showmessage(FloatToStr(f)) ; //95039.99….w := SecondOf(Now) ; //显示当前的秒数Showmessage(IntToStr(w)) ; //介于0~59之间End ;SecondOfTheYear(返回指定TDateTime变量为该年的第几秒)引用单元:DateUtils函数声明:Function SecondOfTheYear ( const AValue : TDateTime) :LongWord; SecondOfTheMonth(返回指定TDateTime变量为该月的第几秒)引用单元:DateUtils函数声明:Function SecondOfTheMonth ( const AValue : TDateTime) :LongWord; SecondOfTheWeekr(返回指定TDateTime变量为周年的第几秒)引用单元:DateUtils函数声明:Function SecondOfTheWeek ( const AValue : TDateTime) :LongWord; SecondOfTheDay(返回指定TDateTime变量为该周的第几秒)引用单元:DateUtils函数声明:Function SecondOfTheDay ( const AValue : TDateTime) :LongWord; SecondOfTheHour(返回指定TDateTime变量为该小时的第几秒)引用单元:DateUtils函数声明:Function SecondOfTheHour ( const AValue : TDateTime) :Word; SecondOfTheMinute(返回指定TDateTime变量为该分钟的第几秒)引用单元:DateUtils函数声明:Function SecondOfTheMinute ( const AValue : TDateTime) :Word;范例D-42procedure TForm1.Button1Click(Sender : TObfect) ;varSeconds : Integer ;beginSeconds := SecondOfTheYear(Now) ;Showmessage('SecondOfTheYear = ' + IntToStr(Seconds)) ;Seconds := SecondOfTheMonth(Now) ;Showmessage('SecondOfTheMonth = ' + IntToStr(Seconds)) ;Seconds := SecondOfTheWeek(Now) ;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Delphi日期函数、日期加减Delphi里有现成的函数可以实现日期加减,是在DateUtils单元里的。

function IncYear(const AValue: TDateTime;const ANumberOfYears: Integer = 1): TDateTime;// function IncMonth is in SysUtilsfunction IncWeek(const AValue: TDateTime;const ANumberOfWeeks: Integer = 1): TDateTime;function IncDay(const AValue: TDateTime;const ANumberOfDays: Integer = 1): TDateTime;function IncHour(const AValue: TDateTime;const ANumberOfHours: Int64 = 1): TDateTime;function IncMinute(const AValue: TDateTime;const ANumberOfMinutes: Int64 = 1): TDateTime;function IncSecond(const AValue: TDateTime;const ANumberOfSeconds: Int64 = 1): TDateTime;function IncMilliSecond(const AValue: TDateTime;const ANumberOfMilliSeconds: Int64 = 1): TDateTime;Day 开头的函数●UnitDateUtilsfunction DateOf(const Avalue: TDateTime): TDateTime;描述使用DateOf 函数用来把一个TDateTime 类型的变量转变成一个只带有日期的TDateTime 类型变量。

例如:showmessage(DateTimetostr(dateof(now())));你得到的是2003/03/19而showmessage(DateTimetostr((now())));得到的是2003/03/19 10:50:49●function DateTimeToStr(DateTime: TDateTime): string;描述DateTimeToString 函数将TDateTime 类型的参数DateTime 转换成一个字符串,使用给定的全局变量ShortDateFormat 的格式,时间部分按照给定的全局变量LongTimeFormat 的格式。

其中DateTime 为零的部分将不会显示出来。

例如:ShortDateFormat:='yyyy mm dd';showmessage(DateTimetostr((now())));你将得到:2003 03 19 10:50:49●procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);描述:DateTimeToString 方法将TDateTime类型的参数DateTime 按照由参数Format提供的格式转化成字符串,并保存在Result中。

对于Format的格式类型,请看Date-Time format strings 的帮助。

例如:DateTimeToString(result,'yyyy mm dd',now());那么result的结果为:2003 03 19 10:50:49●procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);描述:有时为了调用API函数来使用系统时间,你可以使用DateTimeToSystemTime 方法,来将一个TDateTime 类型的时间变量转换成一个TSystemTime 类型的系统时间。

●function DateTimeToUnix(const Avalue: TDateTime ): Int64;描述:使用DateTimeToUnix 函数来将一个TDateTime 型时间变量转换成一个相应的Unix 格式的日期和时间。

Unix date-and-time values are encoded as the number of seconds that have elapsedsince midnight at the start of January 1, 1970.●function DateToStr(Date: TDateTime): string;描述:使用DateToStr 函数能得到TDateTime 日期时间类型的日期部分。

日期的转换格式依赖于全局变量ShortDateFormat。

●function DayOf(const Avalue: TDateTime): Word;描述:对于给定的TDateTime类型的日期时间,使用DayOf 函数能得到该日期是该月份的第几天。

该函数的返回数值在1 到31 之间注意:DayOf 函数得到的结果与DayOfTheMonth 相同。

例如:showmessage(inttostr(dayof(now)));得到的是:19 (今天是某月19日)●function DayOfTheMonth(const Avalue: TDateTime): Word;与DayOf 相同。

●function DayOfTheWeek(const Avalue: TDateTime): Word;描述:对于给定的TDateTime类型的日期时间,使用DayOfTheWeek 函数能得到该日期是该星期的第几天。

DayOfTheWeek 函数的返回数值为 1 到7,其中 1 表示星期一,而7 表示星期日。

注意:DayOfTheWeek 是ISO 8601 标准的(此标准为星期一是一周的第一天)。

对于一周的第一天是星期日的标准,如果想获得星期数,请使用DayOfWeek 函数。

Tip: To make the return value more readable, use the Day of week constants.●function DayOfTheYear(const Avalue: TDateTime): Word;描述:根据给定的日期时间参数Avalue,使用DayOfTheYear 函数能得到在该日期所在的年份中,该日期按照顺序所计算的天数。

因此,作为TDateTime类型的变量"1月1日"在该函数所得到的结果为1 ,"1月2日"所得到的结果为2,"2月1日"所得到的结果就为32,依次类推。

●function DayOfWeek(Date: TDateTime): Integer;DescriptionDayOfWeek returns the day of the week of the specified date as an integer between1 and 7, where Sunday is the first day of the week and Saturday is the seventh.Note: DayOfWeek is not compliant with the ISO 8601 standard, which defines Mondayas the first day of the week. For an ISO 8601 compliant version, use the DayOfTheWeekfunction instead.描述:按照给定的TDateTime类型的参数Date,DayOfWeek 函数得到一周中的第几天,从1到7。

这里星期日是一周的第一天,而星期六是第七天。

●function DaysBetween(const ANow, AThen: TDateTime): Integer;描述:根据两个TDateTime类型的日期时间变量ANow 和AThen,DaysBetween函数能得到两者之间的天数的差距。

DaysBetween 仅仅根据天数的不同来计算。

因此,对于1999年12月31日下午11点59分到2000年1月1日11点58分,该函数得到的结果是0,因为两者之间的时间差别还差1 分钟才到1 天。

●function DaysInAMonth(const AYear, AMonth: Word): Word;描述:对于各定的年份和月份,DaysInAMonth 函数能得到该月份的总天数。

年份应该为从1 到9999月份应该为从1 到12●function DaysInAYear(const AYear: Word): Word;描述:对于给定的年份,DaysInAYear函数能得到该年份的总天数。

年份应该为1 到9999。

●function DaysInMonth(const Avalue: TDateTime): Word;描述:根据给定的TDateTime类型的时间日期参数Avalue,DaysInMonth函数能得到该月份的总天数。

●function DaysInYear(const Avalue: TDateTime): Word;描述:根据给定的TDateTime类型的时间日期参数Avalue,DaysInYear函数能得到该年份的总天数。

●function DaySpan(const ANow, AThen: TDateTime): Double;描述:根据两个TDateTime类型的日期时间参数ANow和AThen,DaySpan能得到在天数上的差距。

与DaysBetween 函数不同,DaysBetween 函数只是计算整的天数,而DaySpan函数会将不足一天的数也得到。

注意:此函数返回的数值为Double 型。

☆Month 开头的函数●function MonthOf(const Avalue: TDateTime): Word;描述:根据给定的TDateTime类型的时间日期参数Avalue,MonthOf函数能得到该年份的该月份数。

MonthOf返回数值为1 到12。

注意:MonthOf函数得到的数值与MonthOfTheYear函数相同●function MonthOfTheYear(const Avalue: TDateTime): Word;与MonthOf函数相同。

相关文档
最新文档