Delphi 常用日期与时间函数

更新时间:2023-11-12 22:20:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

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)) ;

此函数可按指定格式将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('\现在是\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 ;

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, ANthDayOfWeek : Word ; Str :String ; begin

AValue := Now ;

DecodeDateDay(AValue, AYear, ADayOfYear) ;

AWeekOfYear, ADayOfWeek,

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

本文来源:https://www.bwwdw.com/article/k9qv.html

Top