Delphi 常用日期与时间函数

1 获取特定的日期与时间
本小节将为您介绍Delphi 所提供的获取特定日期与时间的函数.这些函数稍后将有详细的范例说明.笔者这里将以列表的方式先说明每一个函数所代表的意义,如图示:
函数名称
单元文件
所代表的意义
Now
SysUtils
此函数可返回现在的日期与时间,其返回值为TDateTime类型
Date
SysUtils
此函数可返回现在的日期,其返回值为TDateTime类型
Time
SysUtils
此函数可返回现在的时间,其返回值为TDateTime类型
Today
DateUtils
此函数可返回今天的日期,其返回值为TDateTime类型,此函数的结果与Date函数相同.
Tomorrow
DateUtils
此函数可返回昨天的日期,其返回值为TDateTime类型
Yesterday
DateUtils
此函数可返回明天的日期,其返回值为TDateTime类型
Currentyear
SysUtils
此函数可返回现在所属的年度,其返回值为4的整数.例如:2001
Hoursperday
SysUtils
此常数定义每天的小时数.HoursPerDay =24;
Minsperday
SysUtils
此常数定义每天的分钟数.MinsPerDay = MinsPerDay*60
Secsperday
SysUtils
此常数定义每天的秒数.SecPerDay = MinsPerDay *60
msecsperday
SysUtils
此常数定义每天的毫秒数.MSecsPerDay =SecsperDay*1000
Now (返回当前的日期时间)
引用单元:SysUtils
函数声明:Function Now : TDateTime;
范例D-1
Procedure TForm1.Button1Click(Sender: TObject);
Var
MyDateTime : TDateTime;
begin
MyDateTime :=Now; 
Showmessage(DateTimeToStr(MyDateTime));
end;
Date(返回当前的日期)
引用单元:SysUtils
函数声明:Function Day :TDateTime;
范例D-2
Procedure TForm1.Button1Click(Sender: TObject);
Var
MyDateTime : TDateTime;
begin
MyDateTime :=Date; 
Showmessage(DateTimeToStr(MyDateTime));
end;
Time(返回当前的时间)
引用单元:SysUtils
函数声明:Function Time:TDateTime;
范例D-3
Procedure TForm1.Button1Click(Sender: TObject);
Var
MyDateTime : TDateTime;
begin
MyDateTime :=Time; 
Showmessage(DateTimeToStr(MyDateTime));
end;
Today(返回今天的日期)
引用单元:DateUtils
函数声明:Function Today :TDateTime;
范例D-4
Procedure TForm1.Button1Click(Sender: TObject);
Var
MyDateTime : TDateTime;
Begin
//uses DateUtils
MyDateTime :=Today; 
Showmessage(DateTimeToStr(MyDateTime));
end;
Tomorrow(返回明天的日期)
引用单元:DateUtils
函数声明:Function Tomorrow:TDateTime;
范例D-5
Procedure TForm1.Button1Click(Sender: TObject);
Var
MyDateTime : TDateTime;
Begin
//uses DateUtils
MyDateTime :=Tomorrow; 
//MyDateTime : Now +1; //两者相同
Showmessage(DateTimeToStr(MyDateTime)); //不包含时间部分
end;
Yesterday(返回昨天的日期)
引用单元:DateUtils
函数声明:Function Yesterday :TDateTime;
范例D-6
Procedure TForm1.Button1Click(Sender: TObject);
Var
MyDateTime : TDateTime;
Begin
//uses DateUtils
MyDateTime :=Yesterday; 
//MyDateTime : Now -1; //两者相同
Showmessage(DateTimeToStr(MyDateTime)); //不包含时间部分
end;
CurrentYear(返回现在所属的年度)
引用单元:SysUtils
函数声明:Function CurrentYear :Word;
范例D-7
Procedure TForm1.Button1Click(Sender: TObject);
Var
ThisYear: Word;
Begin
this year := CurrentYear;
Showmessage(IntToStr(ThisYear)); // 4位整数
end;
HoursPerDay,MinsPerDay,SecsPerDay及MsecsPerDay等日期与时间常数.
引用单元:SysUtils
函数声明:Function CurrentYear:Word;
范例D-8
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Showmessage('每天的小时数=' + IntToStr(HoursperDay)); //24 
Showmessage('每天的分钟数=' + IntToStr(MinsperDay)); // 1440
Showmessage('每天的秒数=' + IntToStr(SecsperDay)); //24 
Showmessage('每天的毫秒数=' + IntToStr(MSecsperDay)); //24 
end;
D.2 日期处理函数:
函数名称
单元文件
所代表的意义
YearOf
DateUtils
此函数可获取TDateTime格式中的年度,其返回值为Word类型.
YearsBeTween
DateUtils
此函数可返回两个指定日期间的年份,一年以365.25天为计算单位.其返回值不包含小数部分
YearSpan
DateUtils
此函数可返回两个指定日期间的年份,一年以365.25天为计算单位.其返回值包含小数部分
StartOfAYear
DateUtils
此函数可返回特定年份的第一天
EndOfAYear
DateUtils
此函数可返回特定年份的最后一天
StrtOfTheYear
DateUtils
此函数可返回特定日期的该年第一天
EndOfTheYear
DateUtils
此函数可返回特定日期的该年最后一天
IncYear
DateUtils
此函数可将指定的TDateTime变量加上指定的年度,其默认值为1年
MonthOf
DateUtils
此函数可获取TDateTime格式中的月份,其返回值为Word类型
MonthOfTheYear
DateUtils
此函数可获取TDateTime格式中的月份,其返回值为Word类型
MonthBetween
DateUtils
次函数可返回两个指定日期间的月份数,一个月以30.4375天为计算单位.其返回值不包含小数部分
MonthSpan
DateUtils
次函数可返回两个指定日期间的月份数,一个月以30.4375天为计算单位.其返回值包含小数部分
StartOfAMonth
DateUtils
此函数可返回特定年月的第一天
EndOfAMonth
DateUtils
此函数可返回特定年月的最后一天
StartOfTheMonth
DateUtils
此函数可返回指定日期的该年的第一天
EndOfTheMonth
DateUtils
此函数可返回指定日期的该年的最后一天
IncMonth
DateUtils
此函数可将指定的TDateTime变量加上指定的月份,其默认值为加上1个月
IncAMonth
DateUtils
此函数可将指定的年月日加上指定的月份,其默认值为加上1个月
DaysInAYear
DateUtils
此函数可返回指定年份的总天数
DaysInYear
DateUtils
此函数可返回指定TDateTime变量中该年分的总天数
DaysInAMonth
DateUtils
此函数可返回指定月份的总天数
DaysInMonth
DateUtils
此函数可返回指定TDateTime变量中该月份的总天数
DaysOf
DateUtils
此函数可获取TDateTime格式中的日期,其返回值为Word类型
DaysBetween
DateUtils
此函数可获取格式中的日期,其返回值不包含小数部分
DaySpan
DateUtils
此函数可返回两个指定日期间的天数,其返回值包含小数部分
DayOfTheYear
DateUtils
此函数可返回指定TDateTime变量为该年的第几天.例如2月1日则返回32
DayOfTheMonth
DateUtils
此函数可返回指定TDateTime变量为该月的第几天,其返回值介于1到31
DayOfTheWeek
DateUtils
此函数可返回指定TDateTime变量为该周的第几天,其返回值介于1到7.星期一为第一天.
DayOfWeek
DateUtils
此函数可返回指定TDateTime变量为该周的第几天,其返回值介于1到7.星期日为第一天.
StartOfADay
DateUtils
此函数可返回指定日期一天的开始时间,其返回值为TDateTime类型.其时间默认为12:00:000 AM
EndOfADay
DateUtils
此函数可返回指定日期一天的结束时间,其返回值为TDateTime类型.其时间默认为11:59:999 PM
StartOfTheDay
DateUtils
此函数可返回指定TDateTime变量的一天开始时间,其返回值为TDateTime类型.其时间默认为:12:00:000 AM
EndOfTheDay
DateUtils
此函数可返回指定TDateTime变量的一天结束时间,其返回值为TDateTime类型.其时间默认为11:59:999PM
IncDay
DateUtils
此函数可为指定日期加上特定的天数,其返回值为TDateTime类型,其默认天数为1天
WeeksInAYear
DateUtils
此函数可返回指定年度的周数,其返回值不是52就是53
WeeksInYear
DateUtils
此函数可返回指定TDateTime变量的周数,其返回值不是52就是53
WeekOf
DateUtils
次函数可返回指定日期为该年的第几周,其返回值为1~53
WeekOfTheYear
DateUtils
次函数可返回指定日期为该年的第几周,其返回值为1~53
WeekOfTheMonth
DateUtils
次函数可返回指定日期为该月的第几周,其返回值为1~6
WeeksBetween
DateUtils
此函数可返回两个指定日期间的周数,其返回值不包含小数部分
WeekSpan
DateUtils
此函数可返回两个指定日期间的周数,其返回值包含小数部分
StartOfAweek
DateUtils
此函数可返回指定日期一周的开始时间,其返回值为TDateTime类型.其时间默认为12:00:000 PM
EndOfAWeek
DateUtils
此函数可返回指定日期一周的结束时间,其返回值为TDateTime类型.其时间默认为11:59:999 PM
StartOfTheWeek
DateUtils
此函数可返回指定TDateTime变量的一周开始时间,其返回值为TDateTime类型.其其时间默认为12:00:000 AM
EndOfTheWeek
DateUtils
此函数可返回指定TDateTime变量的一周结束时间,其返回值为TDateTime类型.其时间默认为11:59:999 AM
IncWeek
DateUtils
此函数可将指定日期加上指定周数,其返回值为TDateTime类型
YearOf(返回指定日期的年度)
引用单元:DateUtils
函数声明:Function YearOf ( const AValue : TDateTime) :Word;
范例D-9
Procedure 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-10
Procedure TForm1.Button1Click(Sender: TObject);
Begin
//不包含小数,一年以365.25天为计算单位
Showmessage('几年=' + IntToStr(YearsBetween(Now,Now+560))); //1
end;
YearSpan(返回两个指定日期间的年份)
引用单元:DateUtils
函数声明:Function YearsSpan( const ANow , AThen : TDateTime) :Double;
范例D-11
Procedure TForm1.Button1Click(Sender: TObject);
Begin
//包含小数,一年以365.25天为计算单位
Showmessage('几年=' + FloatToStr(YearSpan(Now,Now+560)));
//1.53….
end;
StartOfAYear(返回特定年份的第一天)
引用单元:DateUtils
函数声明:Function StartOfAYear ( const AYear) : TDateTime;
范例D-12
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Showmessage(DateTimeToStr(StartOfAYear(2001)));
//2001/1/1 早上12:00:00
end;
EndOfAYear(返回特定年份的最后一天)
引用单元:DateUtils
函数声明:Function EndOfAYear ( const AYear) : TDateTime;
范例D-13
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Showmessage(DateTimeToStr(EndOfAYear(2001)));
//2001/12/31 下午11:59:59
end;
StartOfTheYear(返回指定日期的该年的第一天)
引用单元:DateUtils
函数声明:Function StartOfTheYear ( const AValue : TDateTime) :TDateTime;
范例D-14
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Showmessage(DateTimeToStr(StarOfTheYear(Now)));
//指定的年度/1/1早上12:00:00
end;
EndOfTheYear(返回指定日期的该年的最后一天)
引用单元:DateUtils
函数声明:Function EndOfTheYear ( const AValue : TDateTime) :TDateTime;
范例D-15
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Showmessage(DateTimeToStr(StarOfTheYear(Now)));
//指定年度/12/31下午11:59:59
end;
IncYear(将指定的TDateTime变量加上指定的年)
引用单元:DateUtils
函数声明:Function IncYear ( const AValue : TDateTimel; const ANumberOfYears : Integer =1) :TDateTime;
范例D-16 
Procedure TForm1.Button1Click(Sender: TObject);
var
myDateTime : TDateTime;
Begin
myDateTime : = IncYear(Now,3); //往后加3年
Showmessage(DateTimeToStr(myDateTime));
End;
MonthOf(获取TDateTime格式中的月份)
引用单元:DateUtils
函数声明:Function MonthOf ( const AValue : TDateTime) :Word;
范例D-17 
Procedure TForm1.Button1Click(Sender: TObject);
var
myDateTime : TDateTime;
m : Integer;
Begin
myDateTime : = Now; 
//两个函数获取相同的结果
m := MonthofTheYear(myDateTime);
Showmessage(IntToStr(m));
end;
MonthOfTheYear(获取TDateTime格式中的月份)
引用单元:DateUtils
函数声明:Function MonthOfTheYear ( const AValue : TDateTime) :Word;
范例D-18 
Procedure TForm1.Button1Click(Sender: TObject);
var
i :Integer;
f :Double;
Begin
i := MonthsBetween(Now,Now+89);//差89天
Showmessage(IntToStr(i));//2
f := 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-19
var
myDateTime :TDateTime;
Year,Month :Integer;
Begin
Year := 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-20
var
myDateTime :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-21
procedure TForm1.Button1Click(Sender : TObfect) ;
var
myDateTime : TDateTime ;
Year, Month : Word ;
I : Integer ;
Begin
Year := 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-22
procedure TForm1.Button1Click(Sender : TObfect) ;
var
Day : 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-23
var
i : Integer ;
f : Double ;
begin
//获取两个日期的天数
f:=DaySpan(Now-100 , Now) ;
i := DaysBetween(Now-100 , Now) ;
Showmessage(intToStr(i)) ; //100
Showmessage(FloatToStr(f)) ; //100 
end ;
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-24
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : 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-25
procedure TForm1.Button1Click(Sender : TObfect) ;
var
tmpDateTime : TDateTime ;
AYear , ADayOfYear , AMonth , ADay :Word ;
begin
AYear := 2001 ; //指定年度
ADayOfYear := 32 ;.//第32天
tmpDateTime :=StartOfADay(AYear , ADayOfYear) ;
Showmessage(DateTimeToStr(tmpDateTime)) ; //2001/02/01
AMonth := 1 ;
ADay := 32 ; //从AMonth第一天起第32天
TmpDateTime := StartOfADay(AYear , AMonth , ADay) ;
Showmessage(DateTimeToStr(tmpDateTime)) ; //2001/02/01
end ;
EndOfADay(返回指定日期一天的结束时间)
引用单元:DateUtils
函数声明:Function EndOfADay ( const AYear, AMonth,ADay : Word) : TDateTime;
Function EndOfADay ( const AYear, ADayOfYear : Word) : TDateTime;
范例D-26
procedure TForm1.Button1Click(Sender : TObfect) ;
var
tmpDateTime : TDateTime ;
AYear , ADayOfYear , AMonth , ADay : Word ;
begin
AYear := 2001 ; //指定年度
ADayOfYear := 32 ; //第32天
tmpDateTime := EndOfADay(AYear , AMonth , ADay) ;
Showmessage(DateTimeToStr(tmpDateTime)) ;
//2001/02/01 PM 11:59:59
end ;
StartOfTheDay(返回指定TDateTime变量的一天开始时间)
引用单元:DateUtils
函数声明:Function StartToTheDay ( const AValue : TDateTime) :TDateTime;
EndOfTheDay(返回指定TDateTime变量的一天结束时间)
引用单元:DateUtils
函数声明:Function EndOfTheDay ( const AValue : TDateTime) : TDateTime;
范例D-27
procedure TForm1.Button1Click(Sender : TObfect) ;
var
tmpDateTime : TDateTime ;
begin
tmpDateTime := StartOfTheDay(Now) ;
Showmessage(DateTimeToStr(tmpDateTime)) ;
//YYYY/MM/DD AM 12:00:00
tmpDateTime := EndOfTheDay(Now) ;
Showmessage(DateTo //YYYY/MM/DD PM 11:59:59
end ;
IncDay(可为指定日期加上特定的天数)
引用单元:DateUtils
函数声明:Function IncDay ( const AValue : TDateTime ; const ANumberOfDays : Integer =1) :TDateTime;
范例D-28
procedure TForm1.Button1Click(Sender : TObfect) ;
var
tmpDateTime : TDateTime ;
begin
tmpDateTime := 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-29
procedure TForm1.Button1Click(Sender : TObfect) ;
var
weeks : word ;
begin
weeks :=weeksInAYear(2001) ;
Showmessage(IntToStr(weeks)) ; //52
Weeks := WeeksInYear(Now) ;
Showmessage(IntToStr(weeks)) ; //52
end ;
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-30
Procedure TForm1.Button1Click(Sender: TObject);
Var
I : Word;
Begin
I :=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-31
Procedure TForm1.Button1Click(Sender: TObject);
Var
I : Integer;
F :Double;
Begin
I :=WeeksBetween(Now , Now + 29);
Showmessage(InttoStr(i)); //4
F := 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-32
Procedure TForm1.Button1Click(Sender: TObject);
Var
tempDateTime: TDateTime;
AYear , AWeekOfYear , ADayOfWeek : Word;
Begin
AYear := 2001;
AWeekOfYear :=2; //第二周
ADayOfWeek :=1; //第一天
tempDateTime := StartofAweek(AYear, AWeekOfYear, ADayOfWeek);
//2001/01/08 AM 12:00:00:00
showmessage(DateTimeToStr(tempDateTime));
//AYearf := 2001;
//AWeekofYear :=2; //第二周
ADayOfWeek : =7 ;// 第七天
tempDatetime := EndOfAWeek(AYear, AWeekOfYear, AdayOfWeek);
//2001/01/14 Pm 11:59:59
Showmessage(DateTimeToStr(tempDateTime)); //4.14…
end;
StartOfTheWeek(返回指定日期一周的开始时间)
引用单元:DateUtils
函数声明:Function StartOfTheWeek ( const AValue : TDateTime) :TDateTime;
EndOfTheWeek(返回指定日期一周的结束时间)
引用单元:DateUtils
函数声明:Function EndOfTheWeek ( const AValue : TDateTime) :TDateTime;
范例D-33
Procedure TForm1.Button1Click(Sender: TObject);
Var
tempDateTime : TDateTime;
begin
tempDateTime :=StartOfTheWeek(Now);
//YYYY / MM / DD AM 12:00:00:00
Showmessage(DateTimeToStr(tempDateTime));
tempDateTime := EndOfTheWeek(Now);
//YYYY / MM / DD + 6 PM 11:59 :59
Showmessage(DateTimeToStr(tempDateTime));
end;
IncWeek(将指定日期加上指定周数)
引用单元:DateUtils
函数声明:Function IncWeek ( const AValue : TDateTime; const ANumberOfWeeks : Integer = 1) :TDateTime;
范例D-34:
Procedure TForm1.Button1Click(Sender: TObject);
Var
tempDateTime : TDateTime;
begin
tempDateTime :=IncWeek(Now , 5); //加上5周
Showmessage(DateTimeToStr(tempDateTime));
end;
D.3 时间处理函数
函数名称
单元文件
所代表的意义
HoursBetween
DateUtils
此函数可返回两个指定TDateTime变量间的小时数,返回值不包含小数部分.
HourSpan
DateUtils
此函数可返回两个指定TDateTime变量间的小时数,返回值包含小数部分.
HourOf
DateUtils
此函数可获取TDateTime格式中的小时数,其返回值为Word类型,介于0~23之间
HourOfTheYear
DateUtils
此函数可返回指定TDateTime变量为该年的第几小时
HourOfTheMonth
DateUtils
此函数可返回指定TDateTime变量为该月的第几小时
HourOfTheWeek
DateUtils
此函数可返回指定TDateTime变量为该周的第几小时
HourOfTheDay
DateUtils
此函数可返回指定TDateTime变量为该日的第几小时,返回值介于0~23之间
IncHour
DateUtils
此函数可将指定日期加上指定小时数,其返回值为TDateTime类型
MinutesBetween
DateUtils
此函数可返回两个指定TDateTime变量间的分钟数,其返回值不包含小数部分
MinuteSpan
DateUtils
此函数可返回两个指定TDateTime变量间的分钟数,返回值包含小数部分
MinuteOf
DateUtils
此函数可获取TDateTime格式中的分钟数,其返回值为Word类型,介于0~59之间
MinuteOftheYear
DateUtils
此函数可返回指定TDateTime变量为该年的第几分钟
MinuteOfTheMonth
DateUtils
此函数可返回指定TDateTime变量为该月的第几分钟
MinuteOfTheWeek
DateUtils
此函数可返回指定TDateTime变量为该周的第几分钟
MinuteOfTheDay
DateUtils
此函数可返回指定TDateTime变量为该日的第几分钟
MinuteOfTheHour
DateUtils
此函数可返回指定TDateTime变量为该小时的第几分钟
IncMinute
DateUtils
此函数可将指定日期加上指定分钟数,其返回值为TDateTime类型
SecondsBetween
DateUtils
此函数可返回两个指定TDateTime变量间的秒数,返回值不包含小数部分
SecondSpan
DateUtils
此函数可返回两个指定TDateTime变量间的秒数,返回值包含小数部分
SecondOf
DateUtils
此函数可获取TDateTime格式中的秒数,其返回值为Word类型,介于0~59之间
SecondOfTheyear
DateUtils
此函数可返回指定TDateTime变量为该年的第几秒
SecondOfTheMonth
DateUtils
此函数可返回指定TDateTime变量为该月的第几秒
SecondOfTheWeek
DateUtils
此函数可返回指定TDateTime变量为该周的第几秒
SecondOfTheDay
DateUtils
此函数可返回指定TDateTime变量为该日的第几秒
SecondOfTheHour
DateUtils
此函数可返回指定TDateTime变量为该小时的第几秒
SecondOfTheMinute
DateUtils
此函数可返回指定TDateTime变量为该分钟的第几秒
IncSecond
DateUtils
此函数可将指定日期加上指定秒数,其返回值为TDateTime类型
MilliSecondsBetween
DateUtils
此函数可返回两个指定TDateTime变量间的毫秒数,返回值不包含小数部分
MilliSecondSpan
DateUtils
此函数可返回两个指定TDateTime变量间的毫秒数,返回值包含小数部分
MilliSecondOf
DateUtils
此函数可获取TDateTime格式中的毫秒数,其返回值为Word类型,介于0~999之间
MilliSecondOfTheYear
DateUtils
此函数可返回指定TDateTime变量为该年的第几毫秒
MilliSecondOfTheMonth
DateUtils
此函数可返回指定TDateTime变量为该月的第几毫秒
MilliSecondOfTheWeek
DateUtils
此函数可返回指定TDateTime变量为该周的第几毫秒
MilliSecondOfTheDay
DateUtils
此函数可返回指定TDateTime变量为该日的第几毫秒
MilliSecondOfTheHour
DateUtils
此函数可返回指定TDateTime变量为该小时的第几毫秒
MilliSecondOfTheMinute
DateUtils
此函数可返回指定TDateTime变量为该分钟的第几毫秒
MilliSecondOfTheSecond
DateUtils
此函数可返回指定TDateTime变量为该秒的第几毫秒
IncMilliSecond
DateUtils
此函数可将指定日期加上指定毫秒数,其返回值为TDateTime类型
HoursBetween(返回两个指定日期间的小时数)
引用单元:DateUtils
函数声明:Function HoursBetween ( const ANow , AThen : TDateTime) : Int64;
HourSpan(返回两个指定日期间的小时数)
引用单元:DateUtils
函数声明:Function HourSpan ( const ANow , AThen : TDateTime) :Double;
范例D-35
procedure TForm1.Button1Click(Sender : TObfect) ;
var
Hours : Integer ;
f : Double ;
begin
Hours := HoursBetween(Now , Now+0.9) ; //加上0.9天
Showmessage(FloatToStr(f)) ; //21
f := 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-36
procedure TForm1.Button1Click(Sender : TObfect) ;
var
Hours : Integer ;
Begin
Hours := 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-37
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime : TDateTime ;
begin
TempDateTime := 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-38
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i := Integer ;'
f -= Double ;
w := Word ;
begin
i := MinutesBetween(Now , Now + 1) ; //增加24小时
Showmessage(IntToStr(i)) ; //1440
f := 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-39
procedure TForm1.Button1Click(Sender : TObfect) ;
var
Minutes : Integer ;
begin
Minutes := 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-40
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime : TDateTime ;
Begin
TempDateTime := 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-41
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Integer ;
f : Double ;
w : Word ;
begin
i :=SecondsBetween(Now ,Now + 1) ; //增加24小时
Showmessage(IntToStr(i)) ; //86400
f := 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-42
procedure TForm1.Button1Click(Sender : TObfect) ;
var
Seconds : Integer ;
begin
Seconds := SecondOfTheYear(Now) ;
Showmessage('SecondOfTheYear = ' + IntToStr(Seconds)) ;
Seconds := SecondOfTheMonth(Now) ;
Showmessage('SecondOfTheMonth = ' + IntToStr(Seconds)) ;
Seconds := SecondOfTheWeek(Now) ;
Showmessage('SecondOfTheWeek = ' + IntToStr(Seconds)) ;
Seconds := SecondOfTheDay(Now) ; //与SecondsOf函数返回值相同
Showmessage('SecondOfTheDay = ' + IntToStr(Seconds)) ;
Seconds := SecondOfTheHour(Now) ;
Showmessage('SecondOfTheHour = ' + IntToStr(Seconds)) ;
Seconds := SecondOfTheMinute(Now) ;
Showmessage('SecondOfTheMinute = ' + IntToStr(Seconds)) ;
End ;
IncSecond (将指定日期加上指定秒数)
引用单元:DateUtils
函数声明:Function IncSecond ( const AValue : TDateTime ; const ANumberOfSeconds : Int64=1) :TDateTime;
范例D-43
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime : TDateTime ;
begin
TempDateTime := IncSecond(Now ,240) ; //增加240秒
Showmessage(DateTimeYoStr(TempDateTime)) ;
End ;
MilliSecondsBetween(返回两个指定TDateTime变量间的毫秒数)
引用单元:DateUtils
函数声明:Function MilliSecondsBetween ( const ANow , AThen : TDateTime) :Int64;
MilliSecondSpan(返回两个指定TDateTime变量间的毫秒数)
引用单元:DateUtils
函数声明:Function MilliSecondSpan ( const ANow , AThen : TDateTime) :Double;
MilliSecondOf(获取TDateTime格式中的毫秒数)
引用单元:DateUtils
函数声明:Function MilliSecondOf ( const AValue : TDateTime) :Word;
范例D-44
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i := Integer ;
f := Double ;
w := Word ;
begin
I := MilliSecondsBetween(Now , Now + 0.1) ; //增加0.1小时
Showmessage(IntToStr(i)) ; //863999
f := MilliSecondSpan(Now , Now + 0.111) ; //增加24*0.111小时
Showmessage(FloatToStr(f)) ; //9590399.999…
w := MilliSecondOf(Now) ; //显示当前的毫秒数
Showmessage(IntToStr(w)) ; //介于0~999之间
End ;
MilliSecondOfTheYear(返回指定TDateTime变量为该年的第几毫秒)
引用单元:DateUtils
函数声明:Function MilliSecondOfTheYear ( const AValue : TDateTime) :Word;
MilliSecondOfTheMonth(返回指定TDateTime变量为该月的第几毫秒)
引用单元:DateUtils
函数声明:Function MilliSecondOfTheMonth ( const AValue : TDateTime) :LongWord;
MilliSecondOfTheWeek(返回指定TDateTime变量为该周的第几毫秒)
引用单元:DateUtils
函数声明:Function MilliSecondOfTheWeek ( const AValue : TDateTime) :LongWord;
MilliSecondOfTheDay(返回指定TDateTime变量为该日的第几毫秒)
引用单元:DateUtils
函数声明:Function MilliSecondOfTheDay ( const AValue : TDateTime) :LongWord;
MilliSecondOfTheHour(返回指定TDateTime变量为该小时的第几毫秒)
引用单元:DateUtils
函数声明:Function MilliSecondOfTheHour ( const AValue : TDateTime) :LongWord;
MilliSecondOfTheMinute(返回指定TDateTime变量为该分钟的第几毫秒)
引用单元:DateUtils
函数声明:Function MilliSecondOfTheMinute ( const AValue : TDateTime) :LongWord;
MilliSecondOfTheSecond(返回指定TDateTime变量为该秒的第几毫秒)
引用单元:DateUtils
函数声明:Function MilliSecondOfTheSecond ( const AValue : TDateTime) :Word;
范例D-45
procedure TForm1.Button1Click(Sender : TObfect) ;
var
MilliSeconds : Int64 ;
begin
MilliSeconds := MilliSecondOfTheYear(Now) ;
Showmessage('MilliSecondOfTheYear = '+ IntToStr(MilliSeconds)) ;
MilliSeconds := MilliSecondOfTheMonth(Now) ;
Showmessage('MilliSecondOfTheMonth = '+ IntToStr(MilliSeconds)) ;
MilliSeconds := MilliSecondOfTheWeek(Now) ;
Showmessage('MilliSecondOfTheWeek = '+ IntToStr(MilliSeconds)) ;
MilliSeconds := MilliSecondOfTheDay(Now) ;
//与MilliSecondsOf函数的返回值勤相同
Showmessage('MilliSecondOfTheDay = '+ IntToStr(MilliSeconds)) ;
MilliSeconds := MilliSecondOfTheHour(Now) ;
Showmessage('MilliSecondOfTheHour = '+ IntToStr(MilliSeconds)) ;
MilliSeconds := MilliSecondOfTheMinute(Now) ;
Showmessage('MilliSecondOfTheMinute = '+ IntToStr(MilliSeconds)) ;
MilliSeconds := MilliSecondOfTheSecond(Now) ;
Showmessage('MilliSecondOfTheSecond = '+ IntToStr(MilliSeconds)) ;
End ;
IncMilliSecond(将指定日期加上指定毫秒数)
引用单元:DateUtils
函数声明:Function IncMilliSecond(const AValue : TDateTime; const AnumberOfMilliSeconds:Int64=1) : TDateTime;
范例D-46
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime : TDateTime ;
begin
TempDateTime := IncMilliSecond(Now , 24000) ; //增加24000毫秒
Showmessage(DateTimeToStr(TempDteTime)) ;
End ;
D.4 比较与判断函数
函数名称
单元文件
所代表的意义
CompareDate
DateUtils
此函数可返回两个TDateTime变量的比较结果,此函数的比较对象为日期部分.返回值为—1,0与1,其代表的常数分别为LessThanValue,EqualsValue与GreaterThanValue.当第一个变量值小于第二个变量值则返回-1;当两个变量值相等时则返回0;当第一个变量值大于第二个变量值则返回1
Comparetime
DateUtils
此函数可返回两个TDateTime变量的比较结果,此函数的比较对象为时间部分.返回值为—1,0与1,其代表的常数分别为LessThanValue,EqualsValue与GreaterThanValue.当第一个变量值小于第二个变量值则返回-1;当两个变量值相等时则返回0;当第一个变量值大于第二个变量值则返回1
CompareDateTime
DateUtils
此函数可返回两个TDateTime变量的比较结果,此函数的比较对象为完整的TDateTime变量.返回值为—1,0与1,其代表的常数分别为LessThanValue,EqualsValue与GreaterThanValue.当第一个变量值小于第二个变量值则返回-1;当两个变量值相等时则返回0;当第一个变量值大于第二个变量值则返回1
SameDate
DateUtils
此函数可返回两个TDateTime变量的比较结果,此函数的比较对象为日期部分.返回值为布尔值,相等返回Ture,否则返回False
SameTime
DateUtils
此函数可返回两个TDateTime变量的比较结果,此函数的比较对象为时间部分.返回值为布尔值,相等返回Ture,否则返回False
SameDateTime
DateUtils
此函数可返回两个TDateTime变量的比较结果,此函数的比较对象为完整的TDateTime变量.其返回值为布尔值,相等返回Ture,否则返回False
IsInLeapYear
DateUtils
此函数可判断指定的TDateTime变量是否为闰年.其返回值为布尔值,是闰年则返回Ture,否则返回False
IsLeapYear
DateUtils
此函数可判断指定的年度是否为闰年.其返回值为布尔值,是闰年则返回Ture,否则返回False
IsPM
DateUtils
此函数可判断指定的TDateTime变量是否为下午.其返回值为布尔值,是下午则返回Ture,否则返回False
IsSameDay
DateUtils
此函数可判断两个指定的TDateTime变量是否为同一天,其比较对象只有Date.其返回值为布尔值,使同一天则返回Ture,否则返回False.
IsToday
DateUtils
此函数可判断指定的TDateTime变量是否为今天,其比较对象只有Date.其返回值为布尔值,是今天则返回Ture,否则返回False.
IsValidTime
DateUtils
此函数可判断指定的时间格式是否正确.其返回值为布尔值,格式正确则返回Ture,否则返回False.其中小时数为0~24;分钟数为0~59;秒数为0~59;毫秒数为0~999
IsValidDate
DateUtils
此函数可判断指定的日期格式是否正确.其返回值为布尔值,格式正确则返回Ture,否则返回False.其中年度为1~9999;月份为1~12;日数则视月份而定.
IsValidDateTime
DateUtils
此函数可判断指定的日期时间格式是否正确.其返回值为布尔值,格式正确则返回Ture,否则返回False.此函数可视为IsValidDate函数与ISValidTime函数的结合体.
IsValidDateDay
DateUtils
此函数可判断指定的天数是否包含于指定的年度中.其返回值为布尔值,是今天则返回Ture,否则返回False.
IsValidDateWeek
DateUtils
此函数可判断指定的周数是否包含于指定的年度中.其返回值布尔值,正确则返回True,否则返回False.
IsValidDateMonthWeek
DateUtils
此函数可判断指定的日期,月份及周别是否包含于指定的年度中.其返回值为布尔值,是今天则返回Ture,否则返回False.其中年度为1~9999;月份为1~12
WithinPastYears
DateUtils
此函数可判断指定的TDateTime变量是否在指定的年份数范围中.其返回值为布尔值,正确则返回True,否则返回False.
WithinPastMonths
DateUtils
此函数可判断指定的TDateTime变量是否在指定的月份数范围中.其返回值为布尔值,正确则返回True,否则返回False.
WinthinPastWeeks
DateUtils
此函数可判断指定的TDateTime变量是否在指定的周数范围中.其返回值为布尔值,正确则返回True,否则返回False.
WinthinPastdays
DateUtils
此函数可判断指定的TDateTime变量是否在指定的天数范围中.其返回值为布尔值,正确则返回True,否则返回False.
WinthinPastHours
DateUtils
此函数可判断指定的TDateTime变量是否在指定的小时数范围中.其返回值为布尔值,正确则返回True,否则返回False.
WinthinPastMinutes
DateUtils
此函数可判断指定的TDateTime变量是否在指定的分钟数范围中.其返回值为布尔值,正确则返回True,否则返回False.
WinthinPastSeconds
DateUtils
此函数可判断指定的TDateTime变量是否在指定的秒数范围中.其返回值为布尔值,正确则返回True,否则返回False.
WinthinPastMilliSecond
DateUtils
此函数可判断指定的TDateTime变量是否在指定的毫秒数范围中.其返回值为布尔值,正确则返回True,否则返回False.
CompareDate (返回两个TDateTime变量的比较结果)
引用单元:DateUtils
函数声明:Function CompareDate( const A , B: TDateTime) : TValueRelationship;
范例D-47
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Integer ;
DateTime1 , DateTime2 : TDateTime ;
begin
DateTime1 := Now ;
DateTime2 := IncMinute(Now , 10) ; //加上10分钟
i := Compare
CompareTime(返回两个TDateTime变量的比较结果)
引用单元:DateUtils
函数声明:Function CompareTime( const A , B: TDateTime) : TValueRelationship;
范例D-48 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i := Integer ;
DateTime1 , DateTime2 : TDateTime ;
begin
DateTime1 := Now ;
DateTime2 := IncMonth(Now , 1) ; //加上1个月
i := CompareTime(DateTime1 , DateTime2) ;
Showmessage(IntToStr(i)) ; //0表示不考虑日期部分
DateTime2 := IncMinute(Now , 10) ; //加上10分钟
i := CompareTime(DateTime1 ,DateTime2) ;
Showmessage(IntToStr(i)) ; //-1表示DateTime1 DateTime2
End ;
CompareDateTime(返回两个TDateTime变量的比较结果)
引用单元:DateUtils
函数声明:Function CompareDateTime( const A , B: TDateTime) : TValueRelationship;
范例D-49
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i := Integer ;
DateTime1 , DateTime2 : TDateTime ;
begin
DateTime1 := Now ;
DateTime2 := IncMonth(Now , 1) ; //加上1个月
i := CompareDateTime(DateTime1 ,DateTime2) ;
Showmessage(IntToStr(1)) ; //-1表示DateTime1 DateTime2
End ;
SameDate(返回两个TDateTime变量的比较结果)
引用单元:DateUtils
函数声明:Function SameDate( const A , B: TDateTime) : TValueRelationship;
范例D-50 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolesn ;
DateTime1 , DateTime2 : TDateTime ;
begin
DateTime1 := Now ;
DateTime2 := IncMinute(Now , 10) ; //加上10分钟
i := CompareDateTime(DateTime1 ,DateTime2) ;
Showmessage(BoolToStr(i,True)) : //True表示不考虑时间部分
DateTime2 := IncMonth(Now, 1) ; //加上1个月
i := SameDate(DateTime1,DateTime2) ;
Showmessage(BoolToStr(i, True)) ; //False 表示DateTime1 DateTime2
End ;
SameTime(返回两个TDateTime变量的比较结果)
引用单元:DateUtils
函数声明:Function SameTime( const A , B: TDateTime ): TValueRelationship;
范例D-51 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
DateTime1 , DateTime2 : TDateTime ;
begin
DateTime1 := Now ;
DateTime2 := IncMonth(Now , 1) ; //加上1个月
i := CompareDateTime(DateTime1 ,DateTime2) ;
Showmessage(BoolToStr(i, True )) ; //True表示不考虑日期部分
DateTime2 := IncMinute(Now , 10) ; //加上10分钟
i := SameTime(DateTime1, DateTime2) ;
Showmessage(BoolToStr(i, True)) ; //False表示DateTime1 DateTime2
End ;
SameDateTime(返回两个TDateTime变量的比较结果)
引用单元:DateUtils
函数声明:Function SameDateTime( const A , B: TDateTime) : TValueRelationship;
范例D-52 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
DateTime1 , DateTime2 : TDateTime ;
begin
DateTime1 := Now ;
DateTime2 := IncMonth(Now , 1) ; //加上1个月
i := CompareDateTime(DateTime1 ,DateTime2) ;
Showmessage(BoolToStr(i,True)); //False 表示DateTime1 DateTime2
End ;
IsInLeapYear(判断指定的TDateTime变量是否为闰年)
引用单元:DateUtils
函数声明:Function IsInLeapYear( const AValue: TDateTime) : Boolean;
范例D-53 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
begin
i := IsInLeapYear(Now) ;
Showmessage(BoolToStr(i ,True)) ; //True表示为润年

i := IsInLeapYear(YearOf(Now)) ;
Showmessage(BoolToStr(i , True)) ; //True表示为润年
End ;
IsPM(判断指定的TDateTime变量是否为下午)
引用单元:DateUtils
函数声明:Function IsPM ( const AValue: TDateTime) : Boolean;
IsSameDay(判断两个指定的TDateTime变量是否为同一天)
引用单元:DateUtils
函数声明:Function IsSameDay ( const AValue, ABasis : TDateTime) : Boolean;
IsToday(判断指定的TDateTime变量是否为今天)
引用单元:DateUtils
函数声明:Function IsToDay ( const AValue, ABasis : TDateTime) : Boolean;
范例D-54 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
begin
i := InPM(Now) ;
Showmessage(BoolToStr(i, True)) ; //True表示为下午
i := IsSameDay(Now ,IncMinute(Now ,30)) ; //相差30分钟
Showmessage(BoolToStr(i, True)) ; //True表示同一天
i := IsToDay(IncMinute(Now, 30)) ; //相差30分钟
Showmessage(BoolToStr(i , True)) ; //True表示为今天
End ;
IsValidTime(判断指定的时间格式是否正确)
引用单元:DateUtils
函数声明:Function IsValidTime ( const AHour, AMinute, ASecond, AMilliSecond :Word) : Boolean;
范例D-55 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
AHour, AMinute, ASecond, AMilliSecond : Word ;
begin
AHour := 23 ; //0~24
AMinute := 0 ; //0~59
ASecond := 59 ; //0~59
AMilliSecond := 999 ; //0~999
i := IsValidTime(AHour, AMinute, ASecond, AMilliSecond) ;
Showmessage(BoolToStr(i ,True)) ; //True表示为正确
End ;
IsValidDate(判断指定的日期格式是否正确)
引用单元:DateUtils
函数声明:Function IsValidDate ( const AYear, AMonth,ADay :Word) : Boolean;
范例D-56 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
AYear, AMonth, ADay : Word;
begin
AYear := 2000 ; //1~9999
AMonth := 2 ; //1~12
ADay := 29 ; //视月份而定
i := IsValidDate(AYear, AMonth, ADay) ;
Showmessage(BoolToStr(i , True)); //True表示为正确
End ;
IsValidDateTime(判断指定的日期时间格式是否正确)
引用单元:DateUtils
函数声明:Function IsValidDateTime ( const AYear , AMonth , ADay , AHour , AMinute , ASecond , AMilliSecond : word) : Boolean;
范例D-57 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
AYear, AMonth, ADay : Word;
AHour, AMinute, ASecond, AMilliSecond : Word ;
begin
AYear := 2000 ; //1~9999
AMonth := 2 ; //1~12
ADay := 29 ; //视月份而定
AHour := 23 ; //0~24
AMinute := 0 ; //0~59
ASecond := 59 ; //0~59
AMilliSecond := 999 ; //0~999
i := IsValidDateTime(AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond) ;
Showmessage(BoolToStr(i, True)) ; //True表示为正确
End ;
IsValidDateday(判断指定的天数是否包含于指定的年度中)
引用单元:DateUtils
函数声明:Function IsValidDateday ( const AYear, ADayOfYear : Word) : Boolean;
IsValidDateWeek(判断指定的周数是否包含于指定的年度中)
引用单元:DateUtils
函数声明:Function IsValidDateWeek ( const AYear, AWeekOfYear , ADayOfWeek :Word) : Boolean;
IsValidDateMonthWeek(判断指定的日期,月份及周别是否包含于指定的年度中)
引用单元:DateUtils
函数声明:Function IsValidDateMonthWeek(const AYear , AMonth , AWeekOfMonth , ADayOfWeek : Word) : Boolean;
范例D-58 
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
AYear, ADayOfYear : Word;
AWeekOfYear, ADayOfWeek :Word ;
AMonth, AWeekOfMonth : Word ;
begin
AYear := 2000 ; //1~9999
ADayOfYear := 366 ; //第366天,会因年度而异
i := IsValidDateDay(AYear, ADayOfYear) ;
Showmessage(BoolToStr(i ,True)) ; //True表示为正确

AWeekOfYear := 52; //因年度而异
ADayOfWeek := 1 ; //1~7
i := IsValidDateWeek(AYear, AWeekOfYear, ADayOfWeek);
Showmessage(BoolToStr(i, True)) ; //True表示为正确
AMonth := 3 ; //1~12
AWeekOfMonth := 1 ; //因月份而异
ADayOfWeek := 3 ; //因周别而异
i := IsValidDateMonthWeek(AYear, AMonth, AWeekOfMonth,ADayOfWeek) ;
Showmessage(BoolToStr(i, True)) ; //True表示为正确
End ;
WithinPastYears(判断指定的TDateTime变量是否在指定的年份数范围中)
引用单元:DateUtils
函数声明:Function WithinPastYears ( const ANow,AThen: TDateTime; const AYear: integer) : Boolean;
WithinPastMonths(判断指定的TDateTime变量是否在指定的月份数范围中)
引用单元:DateUtils
函数声明:Function WithinPastMonths ( const ANow,AThen : TDateTime ; const AMonths : integer) : Boolean;
WithinPastWeeks(判断指定的TDateTime变量是否在指定的周数范围中)
引用单元:DateUtils
函数声明:Function WithinPastWeeks ( const ANow, AThen : TDateTime ; const AWeeks : integer) : Boolean;
WithinDays(判断指定的TDateTime变量是否在指定的天数范围中)
引用单元:DateUtils
函数声明:Function WithinDays ( const ANow, AThen : TDateTime ; const Adays : integer) : Boolean;
WithinPastHours(判断指定的TDateTime变量是否在指定的周数范围中)
引用单元:DateUtils
函数声明:Function IsToDay ( const AValue, ABasis : TDateTime) : Boolean;
WithinPastMinutes(判断指定的TDateTime变量是否在指定的分钟数范围中)
引用单元:DateUtils
函数声明:Function WithinPastMinutes ( const ANow, AThen : TDateTime ; const AMinutes: Int64) : Boolean;
WithinPastSeconds(判断指定的TDateTime变量是否在指定的秒数范围中)
引用单元:DateUtils
函数声明:Function WithinPastSeconds ( const ANow,AThen : TDateTime ; const ASeconds :Int64) : Boolean;
WithinPastMilliSeconds(判断指定的TDateTime变量是否在指定的毫秒数范围中)
引用单元:DateUtils
函数声明:Function WithinPastMilliSeconds (const ANow , AThen : TDateTime ; const AMilliSeconds :Int64) : Boolean;
范例D-59
procedure TForm1.Button1Click(Sender : TObfect) ;
var
i : Boolean ;
begin
//第二个日期为过去的第23个月, 设置比较的条件为1年
i := WithinPastYears(Now, IncMonth(Now, -23), 1) ;
//如果是过去的第24个月, 则返回False
Showmessage(BoolToStr(i, True)) ; //True表示为正确
//第二个日期为过去的第3个月, 设置比较的条件为3个月
i := WithinPastMonths(Now, IncMonth(Now, -3), 3) ;
//如果是过去的第4个月, 则返回False
Showmessage(BoolToStr(i, True)) ; //True表示为正确
//第二个日期为过去的第3周, 设置比较的条件为3周
i := WithinPastWeeks(Now, IncMonth(Now, -3) , 3) ;
//如果是过去第4周,则返回False
Showmessage(BoolToStr(i ,True)) ; //True表示为正确
//第二个日期为过去的第3小时, 设置比较的条件为3小时
i := WithinPastHoure(Now , IncHour(Now, -3), 3) ;
//如果是过去的第4小时,则返回False
Showmessage(BoolToStr(i ,True)) ; //True表示为正确
//第二个日期为过去的第3分钟, 设置比较的条件为3分钟
i := WithinPastMinutes(Now , IncMinute(Now, -3),3) ;
//如果是过去的第4分钟,则返回False
Showmessage(BoolToStr(i , True)) ; //True表示为正确
//第二个日期为过去的第3秒, 设置比较的条件为3秒
i := WithinPastSeconds(Now, IncSecond(Now, -3), 3) ;
//如果是过去的第4秒,则返回False
Showmessage(BoolToStr(i, True)) ; //True表示为正确
//第二个日期为过去的第3毫秒, 设置比较的条件为3毫秒
i := WithinPastMilliSeconds(Now, IncMilliSecond(Now, -3), 3) ;
//如果是过去的第4秒, 则返回False
Showmessage(BoolToStr(i, True)) ; //True表示为正确
End ;
D.5 日期与时间的编译与解译
函数名称
单元文件
所代表的意义
DecodeDate
SysUtils
此函数可将指定TDateTime变量分解为年度,月份及日期
DecodeTime
SysUtils
此函数可将指定TDateTime变量分解为时,分,秒及毫秒
DecodeDateTime
DateUtils
此函数可将指定TDateTime变量分解为年度,月份,日期,时,分,秒及毫秒
DecodeDateDay
DateUtils
此函数可将指定TDateTime变量分解为年度及年度的第几天
DecodeDateWeek
DateUtils
此函数可将指定TDateTime变量分解为年度,周别急该周的第几天
DecodeDateFully
SysUtils
此函数可将指定TDateTime变量分解为年度,月份,日期及该周的第几天
DecodeDateMonthWeek
DateUtils
此函数可将指定TDateTime变量分解为年度,月份,该月的第几周及该周的第几天
DecodeDayOfWeekInMonth
DateUtils
此函数可将指定TDateTime变量分解为年度,月份,该月的第几周及该周的第几天
EncodeDate
SysUtils
此函数可将指定的年,月,日参数转换TDateTime类型的日期格式
TryEncodeDate
SysUtils
此函数除了与EncodeDate函数具有相同的功能外,另可判断指定的参数是否正确.当返回值为True表示正确,反之,则返回False
EncodeTime
SysUtils
此函数可将指定的时,分,秒,毫秒等参数转换TDateTime类型的时间格式
TryEncodeTime
SysUtils
此函数出了与EncodeTime函数具有相同的功能外,另可判断指定的参数是否正确.当返回值为True表示正确,反之,则返回False
EncodeDateTime
SysUtils
此函数可将指定的年,月,日,时,分,秒,毫秒等参数转换TDateTime类型的日期时间格式
TryEncodeDateTime
SysUtils
此函数除了与EncodeDateTime函数具有相同的功能外,另可判断指定的参数是否正确.当返回值为True表示正确,反之,则返回False
DecodeDate(将指定TDateTime变量分解为年度,月份及日期)
引用单元:SysUtils
函数声明:Procedure DecodeDate(Date: TDateTime; var year,Month,Day:Word);
DecodeTime(将指定TDateTime变量分解为时,分,秒及毫秒)
引用单元:SysUtils
函数声明:Procedure DecodeTime(Time: TDateTime; var Hour,Min,Sec,MSec:Word);
DecodeDatetime(将指定TDateTime变量分解为年度,月份,日期,时,分,秒及毫秒)
引用单元:DateUtils
函数声明:Procedure DecodeDateTime(const AValue: TDateTime;out Ayear , AMonth , ADay , AHour , AMinute , ASecond,AMilliSecond:Word);
范例D-60
procedure TForm1.Button1Click(Sender : TObfect) ;
var
AValue: TDateTime
AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond: Word ;
Str :String ;
begin
AValue := Now ;
DecodaDate(AValue, AYear, AMonth, ADay) ;
Str := '今天是' + IntToStr(AYear) + '年'+ IntToStr(AMonth) + '月'+ IncToStr(ADay) + '日' ;
Showmeswsage(Str) ;
DecodeTime(AValue, AHour, AMinute, ASecond, AMilliSecond) ;
Str := '现在是' + IntToStr(AHour) + '时' + IncToStr(AMinute) + '分' + IntToStr(ASecond) + '秒' + IntToStr(AMilliSecond) + '毫秒' ;
Showmessage(Str) ;
DecodeDateTime(AValue, AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond) ;
Str := '现在是' + IntToStr(AYear) + '年' + IntToStr(AMonth) + '月' + IntToStr(ADay) + '日' + IntToStr(AHour) + '时' + IntToStr(AMinute) + '分' + IntToStr(ASecond) + '秒' + IntToStr(AMilliSecond) + '毫秒' ;
Showmessage(Str) ;
End ;
DecodeDateDay(将指定TDateTime变量分解为年度及年度的第几天)
引用单元:SysUtils
函数声明:Procedure DecodeDateDay(Const AValue : TDateTime;out Ayear,ADayOfYear:Word);
DecodeDateWeek(将指定TDateTime变量分解为年度,周别及该周的第几天)
引用单元:SysUtils
函数声明: Procedure DecodeDateWeek(Const AValue : TDateTime ; out Ayear AWeekOfYear , ADayOfWeek :Word);
DecodeDateFully(将指定TDateTime变量分解为年度,月份,日期及该周的第几天)
引用单元:SysUtils
函数声明:Function DecodeDateFully (Const AValue : TDateTime ; out Ayear , ADayOfWeek :Word ) : Boolean;
DecodeDateMonthWeek(将指定TDateTime变量分解为年度,月份,该月的第几周及该周的第几天)
引用单元:SysUtils
函数声明:Procedure DecodeDateMonthWeek(const AVAlue: TDateTime; out Ayear,AMonth,AWeekOfMonth,ADayOfWeek:Word);
DecodeDayOfWeekInMonth(将指定TDateTime变量分解为年度,月份,该月的第几周及该周的第几天)
引用单元:SysUtils
函数声明:Procedure DecodeDateOfWeekInMonth(const Avalue: TDateTime;out Ayear , AMonth , ANthDayOfWeek , ADayOfWeek : Word );
范例D-61
procedure TForm1.Button1Click(Sender : TObfect) ;
var
AValue: TDateTime ;
AYear, AMonth, ADay, ADayOfYear, AWeekOfMonth, AWeekOfYear, ADayOfWeek, ANthDayOfWeek : Word ;
Str :String ;
begin
AValue := Now ;
DecodeDateDay(AValue, AYear, ADayOfYear) ;
Str := '今天是' + IntToStr(AYear) + '年的第'+ IntToStr(ADayOfYear) + '天'
Showmeswsage(Str) ;
DecodeDateWeek(AValue, AYear, AWeekOfYear, ADayOfWeek) ;
Str := '今天是' + IntToStr(AYear) + '年, 第' + IncToStr(AWeekOfYear) + '周的第' + IntToStr(ADayOfWeek) + '天' ;
Showmessage(Str) ;
DecodeDateFully(AValue, AYear, AMonth, ADay, ADayOfWeek) ;
Str := '今天是' + IntToStr(AYear) + '年' + IntToStr(AMonth) + '月' + IntToStr(ADay) + '日, 且为该周的第' + IntToStr(ADayOfWeek) + '天'
Showmessage(Str) ;
DecodeDateMonthWeek(AValue, AYear, AMonth, ADay, ADayOfWeek) ;
Str := '今天是' + IntToStr(AYear) + '年' + IntToStr(AMonth) + '月' + IntToStr(ADay) + '日, 且为该月的第' + IntToStr(AWeekOfMonth) + '周, 且为该周的第' + IntToStr(ADayOfWeek) + '天'
Showmessage(Str) ;
DecodeDayOfWeekInMonth(AValue, AYear, AMonth, AnthDayOfWeek, ADayOfWeek) ;
Str := '今天是' + IntToStr(AYear) + '年' + IntToStr(AMonth) + '月' + IntToStr(ADay) + '日, 且为该月的第' + IntToStr(ANthDayOfWeek) +'周(ANthDayOfWeek)与该周的第' + IntToStr(ADayOfWeek) + '天(ADayOfWeek)' ;
Showmessage(Str) ;
End ;
EncodeDate(将指定的年,月,日参数转换TDateTime类型的日期格式)
引用单元:SysUtils
函数声明:Function EncodeDate(Year,Month,Day:Word):TDateTime;
范例D-62
var
TempDateTime :TDateTime ;
AYear, AMonth, ADay, :Word ;
begin
AYear := 2001 ;
AMonth := 2 ;
ADay := 29 ;
try
TempDateTime := EncodeDate(AYear, AMonth, ADay) ;
Showmessage(DateToStr(TempDateTime)) ;
except
//当参数错误则融发一个异常
on E: Exception do Showmessage(E, Message) ;
end ;
end ;
TrycodeDate(将指定的年,月,日参数转换TDateTime类型的日期格式)
引用单元:SysUtils
函数声明:Function TrycodeDate(Year,Month,Day:Word; out Date: TDateTime):Boolean;
范例D-63
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime :TDateTime ;
AYear, AMonth, ADay : Word ;
begin
AYear := 2001 ;
AMonth := 2 ;
ADay := 29 ;
if TryEncodeDate(AYear, AMonth, ADay, TempDateTime) then
Showmesage(DateToStr(TempDateTime)) ;
else
//当参数不正确时TryEncodeDate函数返回False
Showmessage('指定的参数不正确') ;
End ;
EncodeTime(将指定的时,分,秒,毫秒等参数转换TDateTime类型的时间格式)
引用单元:SysUtils
函数声明:Function EncodeTime(Hour,Min,Sec,MSec:Word):TDateTime;
范例D-64
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime :TDateTime ;
Hour, Min, Sec, MSec : Word ;
begin
Hour := 24 ; //0~23
Min := 3 ;
Sec := 29 ;
MSec := 888 ;
try
TempDateTime := EncodeTime(Hour, Min, Sec, MSec) ;
Showmessage(TimeToStr(TempDateTime)) ;
except
//当参数错误则触发一个异常
on E : Exception do Showmessage(E, Message) ;
end ;
end ;
TryEncodeTime(将指定的时,分,秒,毫秒等参数转换TDateTime类型的时间格式)
引用单元:SysUtils
函数声明:Function TryencodeTime(Hour,Min,Sec,MSec : Word; out Time:TDateTime) : Boolean;
范例D-65
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime :TDateTime ;
Hour, Min, Sec, MSec : Word ;
begin
Hour := 24 ; //0~23
Min := 3 ;
Sec := 29 ;
MSec := 888 ;
if TryEncodeTime(Hour, Min, Sec, MSec, TempDateTime) then 
Showmessage(TimeToStr(TempDateTime))
Else
//当参数不正确时TryEncodeDate函数返回False
Showmessage('指定的参数不正确')
End ;
EncodeDateTime(将指定的年,月,日,时,分,秒,毫秒等参数转换TDateTime类型的日期时间格式)
引用单元:SysUtils
函数声明:Function EncodeDateTime(const AYear , AMonth , ADay , AHour , AMinute , ASecond , AMilliSecond : Word ): TDateTime;
范例D-66
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime :TDateTime ;
AYear, AMonth, ADay, Hour, Min, Sec, MSec : Word ;
begin
AYear := 2001 ;
AMonth := 2 ;
ADay := 29 ; //2001年2月共有28天
Hour := 24 ; //0~23
Min := 3 ;
Sec := 29 ;
MSec := 888 ;
try
TempDateTime := EncodeTime(AYear, AMonth, ADay, Hour, Min, Sec, MSec) ;
Showmessage(TimeToStr(TempDateTime)) ;
except
//当参数错误则触发一个异常
on E : Exception do Showmessage(E, Message) ;
end ;
if TryEncodeDateTime(AYear, AMonth, ADay, Hour, Min, Sec, MSec, TempDateTime) then 
Showmessage(TimeToStr(TempDateTime))
Else
Showmessage('参数错误') ;
End ;
TryEncodeDateTime(将指定的年,月,日,时,分,秒,毫秒等参数转换TDateTime类型的日期时间格式)
引用单元:SysUtils
函数声明:Function TryEncodeDateTime (const AYear , AMonth , ADay , AHour , AMinute , ASecond , AMilliSecond : Word ; out AValue: TDateTime): Boolean;
D .6 日期与时间的转换函数
函数名称
单元文件
所代表的意义
DateTimeToFileDate
SysUtils
此函数可以将TDateTime的日期格式转换为操作系统时间(OS timestamp)格式,以供FileSetDate函数设置文件的时间
TimeToStr
SysUtils
此函数可以将TDateTime的时间转为字符串
DateToStr
SysUtils
此函数可以将TDateTime的日期转为字符串
DateTimeToStr
SysUtils
此函数可以将TDateTime的日期时间转为字符串
DateTimeToString
SysUtils
此函数可以将日期时间转为制定格式字符串
FormatDateTime
SysUtils
此函数可按指定格式将TDateTime变量转为字符串
StrToDate
SysUtils
此函数可将指定的字符串转为TDateTime日期格式
StrToTime
SysUtils
此函数可将指定的字符串转为TDateTime时间格式
StrToDateTime
SysUtils
此函数可将指定的字符串转为TDateTime日期时间格式
ReplaceDate
SysUtils
此函数可使用新TDateTime变量中的日期替换原有TDateTime变量的日期部分
ReplaceTime
SysUtils
此函数可使用新TDateTime变量中的时间替换原有TDateTime变量的时间部分
TimeOf
SysUtils
此函数会将指定TDateTime变量的日期改为1899-12-30但保留时间部分
DateOf
SysUtils
此函数会将指定TDateTime变量的时间改为午夜AM00:00:00但保留日期部分
以下将以范例的方式说明每一个函数的使用方法
DateTimeToFileDate(将TDateTime的日期格式转换为操作系统时间格式)
引用单元:SysUtils
函数声明:Function DateTimeToFileDate(DateTime:TDateTime) : Integer;
TimetoStr(将时间转为字符串)
引用单元:SysUtils
函数声明:Function TimeToStr(Time:TDateTime) : String;
DateToStr(将日期转为字符串)
引用单元:SysUtils
函数声明:Function DateToStr(Date:TDateTime) : String;
DateTimeToStr(将日期时间转为字符串)
引用单元:SysUtils
函数声明:Function DateTimeToStr(DateTime:TDateTime) : String;
DateTimeToStr(将日期时间转为指定格式的字符串)
引用单元:SysUtils
函数声明:Function DateTimeToString(Var Result : String; Const Format : String ; DateTime:TDateTime);
FormatDateTime(将日期时间转为指定格式的字符串)
引用单元:SysUtils
函数声明:Function FormatDateTime(Const Format : String; DateTime:TDateTime) : String;
范例D-67
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime :TDateTime ;
Temp :Integer ;
Str :String ;
begin
//DateTimeToFileDate函数
TempDateTime := Now ;
Temp := DateTimeToFileDate(TempDateTime) ;
//TimeToStr 函数
Showmessage(TimeToStr(TempDateTime)) ;
//DateToStr函数
Showmessage(DateToStr(TempDateTime)) ;
//DateTimeToStr函数
Showmessage(DateTimeToStr(TempDateTime)) ;
//DateTimeToString函数
DateTimeToString(Str , 'yyyy', mmmm d, dddd hh:mm, TempDateTime) ;
Showmessage(Str) ;
//FormatDateTime函数
Str := FormatDateTime('"现在是"yyyy, mmmm d, dddd hh :mm', TempDateTime) ;
Showmessage(Str) ;
End ;
StrToDate(将字符串转为 TDateTime的日期格式)
引用单元:SysUtils
函数声明:Function StrtoDate(Const S : String) : T DateTime;
StrtoTime(将字符串转为TDateTime的时间格式)
引用单元:SysUtils
函数声明:Function StrtoTime(Const S: String;) : TDateTime ;
StrToDateTime(将字符串转为TDateTime的日期时间格式)
引用单元:SysUtils
函数声明:Function StrToDateTime(Const S : String;) : TDateTime ;
范例D-68
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime :TDateTime ;
Str :String ;
begin
//StrToDate函数
Str := '2001/01/01' ;
TimpDateTime := StrToDate(Str) ;
Showmessage(DateToStr(TempDateTime)) ;
//StrToTime函数
Str := '23:01:23' ;
TempDateTime := StrToTime(Str) ;
Showmessage(TimeToStr(TempDateTime)) ;
//StrToDateTime函数
Str := '2001/01/01 23:01:23' ;
TempDateTime := StrToDateTime(Str) ;
Showmessage(DateTimeToStr(TempDateTime)) ;
End ;
ReplaceTime(使用新TDateTime变量中的时间替换原有TDateTime变量的时间部分)
引用单元:SysUtils
函数声明:Function ReplaceTime(Var DateTime:TDateTime ; const NewTime : TDateTime) ;
TimeOf(将指定TDateTime变量的日期改为1899-12-30但保留时间部分)
引用单元:SysUtils
函数声明:Function TimeOf( const Avalue : TDateTime) : TDateTime ;
范例D-69
procedure TForm1.Button1Click(Sender : TObfect) ;
var
OldDateTime, NewDateTime : TDateTime ;
Str :String ;
begin
//ReplaceDate函数
OldDateTime := Now ;
NewDateTime := IncMonth(Now, 2) ;
Str := '转换前:' + DateTimeToStr(OldDateTIme) + #10 ;
Str := Str + '新日期:' + DateTimeToStr(NewDateTime) + #10
ReplaceDate(OldDateTime, NewDateTIme) ;
Str := Str + '转换后:' + DateTimeToStr(OldDateTime) + #10 ;
Showmessage(Str) ;
//ReplaceTime函数
OldDateTime := Now ;
NewDateTime := IncSecond(Now, 20) ;
Str := '转换前:' + DateTimeToStr(OldDateTime) + #10 ;
Str := Str + '新日期:' + DateTimeToStr(NewDateTime) + #10 ;
ReplaceTime(OldDateTime, NewDateTime) ;
Str := Str + '转换后:' + DateTimeToStr(OldDateTime) + #10 ;
Showmessage(Str) ;
End ;
DateOf(将指定TDateTime变量的时间改为午夜AM00:00:00但保留日期部分)
引用单元:SysUtils
函数声明:Function DateOf( const Avalue : TDateTime) : TDateTime;
范例D-59
procedure TForm1.Button1Click(Sender : TObfect) ;
var
TempDateTime :TDateTime ;
Str : String ;
begin
//TimeOf 函数
TempDateTime := Now ;
Str := '原日期时间=' + DateTimeToStr(TempDateTime) + #10 ;
TempDateTime := TimeOf(TempDateTime) ;
Str := '新日期时间=' + DateTimeToStr(TempDateTime) + #10 ;
TempDateTime := DateOf(TempDateTime) ;
Str := Str + '新日期时间=' + DateTImeToStr(TempDateTime) + #10 ;
Showmessage(Str) ;
//DateOf函数
TempDateTime := Now ;
Str := '原日期时间=' + DateTImeToStr(TempDateTime) + #10 ;
Showmessage(Str) ;
End ;
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
函数由一句或多句代码组成,可以实现某个特定的功能。使用函数可以使代码更加易读、易懂,加快编程速度及减少重复代码。过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,而函数能有返回值。   在Delphi 7.0中,已为我们定义好了非常多的函数,大致分类有6种:数据类型转换函数、字符串、数组操作函数、文件、磁盘操作函数、内存、指针操作函数、数学运算函数日期函数。   在Delphi中调用函数,一般情况下可以直接使用函数即可,但由于有一些函数未包含在Uses中列出的单元中(默认单元有Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs;),所以需要我们手动添加单元。比如,MidStr函数就未包含在这些单元中,MidStr所属单元在 StrUtils中,因此我们将StrUtils添加Uses中即可。   在本手册中,凡是未包含在默认列出的单元中的函数,都标明了其所属的单元,使用时应当注意。   一、数据类型转换函数   在我们编写程序当中,根据不同情况,会使用到多种数据类型。当要对不同的类型进行操作时,必须要将不同的类型转换成同样的类型。因此熟练地掌握数据类型的转换是非常重要的。   1.FloatToStr   功能说明:该函数用于将“浮点型”转换成“字符型”。   参考实例:   Edit1.Text := FloatToStr(1.981);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值