Delphi 日期时间函数详解

合集下载

Delphi日期时间函数详解

Delphi日期时间函数详解

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

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

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

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

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

Delphi 常用日期与时间函数

Delphi 常用日期与时间函数

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

delphi时间日期函数

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

DELPHI 内存 数学 日期 函数

DELPHI 内存 数学 日期 函数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

delphi 时间间隔函数

delphi 时间间隔函数

Delphi中的时间间隔函数1. 概述在Delphi中,时间间隔函数用于计算时间的差异,以便在程序中测量时间间隔或执行定时任务。

Delphi提供了多个时间间隔函数,包括Now、GetTickCount、GetTime、FormatDateTime等。

这些函数可以帮助开发人员更方便地处理时间相关的操作。

本文将详细介绍Delphi中的时间间隔函数,包括函数的定义、用途和工作方式等。

通过深入了解这些函数,开发人员可以更好地利用它们来处理时间相关的任务。

2. Now函数2.1 定义Now函数用于获取当前的系统时间。

它返回一个TDateTime类型的值,表示当前的日期和时间。

2.2 用途Now函数常用于记录事件的发生时间、计算时间间隔以及执行定时任务等。

通过获取当前时间,开发人员可以在程序中准确地记录和处理时间相关的操作。

2.3 示例代码varcurrentTime: TDateTime;begincurrentTime := Now;ShowMessage(DateTimeToStr(currentTime));end;上述代码演示了如何使用Now函数获取当前时间,并通过ShowMessage函数将其显示在一个对话框中。

3. GetTickCount函数3.1 定义GetTickCount函数用于获取自系统启动以来经过的毫秒数。

它返回一个DWORD类型的值,表示从系统启动到当前时间所经过的毫秒数。

3.2 用途GetTickCount函数常用于测量程序执行的时间间隔,或者用于实现简单的定时功能。

通过获取系统启动到当前时间所经过的毫秒数,开发人员可以计算程序执行的时间,或者根据一定的时间间隔执行特定的操作。

3.3 示例代码varstartTime, endTime, elapsedTime: DWORD;beginstartTime := GetTickCount;// 执行一些操作endTime := GetTickCount;elapsedTime := endTime - startTime;ShowMessage('程序执行时间:' + IntToStr(elapsedTime) + '毫秒');end;上述代码演示了如何使用GetTickCount函数计算程序的执行时间。

Delphi_DateUtils中常用日期函数

Delphi_DateUtils中常用日期函数

Unit DateUtilsDay开头的函数1.function DayOf(const A Value: TDateTime): Word 返回某日期是该月第几天2.function DayOfTheMonth(const A Value: TDateTime): Word; 返回某日期是该月第几天3.function DayOfTheWeek(const A Value: TDateTime): Word;返回某日期是一周当中的第几天,此函数星期一是一周的第一天4.function DayOfWeek(Date: TDateTime): Integer; 返回某日期是一周当中的第几天,此函数星期日是一周的第一天5.function DayOfTheYear(const A V alue: TDateTime): Word;返回该日期是该年的第几天,如2012.02.01是2012年的第32天6.function DaysBetween(const ANow, A Then: TDateTime): Integer;返回连个日期之前相差的天数,不足一天的返回07.function DaySpan(const ANow, AThen: TDateTime): Double; 返回连个日期之前相差的天数,不足一天的返回18.function DaysInAMonth(const AYear, AMonth: Word): Word;function DaysInMonth(const A Value: TDateTime): Word; 两个函数均返回某年中某月的总天数,年份在1至9999之间,月份在1至12之间9.function DaysInAYear(const AYear: Word): Word;function DaysInYear(const A Value: TDateTime): Word; 两个函数均返回某一年的总天数Month开头的函数1.function MonthOf(const A V alue: TDateTime): Word; 返回某日期的在当月的总天数2.function MonthOfTheYear(const A Value: TDateTime): Word; 返回某日期的在当月的总天数3.function MonthsBetween(const ANow, AThen: TDateTime): Integer;返回连个日期月数上差值,不足一月的返回04.function MonthSpan(const ANow, A Then: TDateTime): Double; 返回连个日期月数上差值,不足一月的返回1Week开头的函数1.function WeekOf(const A V alue: TDateTime): Word;返回该所在的星期为一年的第几个星期2.function WeeksInAYear(const AYear: Word): Word;返回该年份中共有多少个星期3.function WeeksBetween(const ANow, A Then: TDateTime): Integer;返回两个日期在星期上的差值,不足一个星期的忽略掉4.function WeekSpan(const ANow, AThen: TDateTime): Double; 返回两个日期在星期上的差值,不足一个星期的不会忽略掉Year开头的函数1.function YearOf(const A Value: TDateTime): Word;返回该日期的年份2.function YearsBetween(const ANow, A Then: TDateTime): Integer;返回两个日期的年份差距,不足一年的忽略掉3.function YearSpan(const ANow, AThen: TDateTime): Double; 返回两个日期的年份差距,不足一年的不会忽略掉4.function Yesterday: TDateTime;返回给定日期前一天的日期其他1.function IncMonth(const Date: TDateTime; NumberOfMonths: Integer): TDateTime;NumberOfMonths为负值时,返回NumberOfMonths个月之前的日期,NumberOfMonths 为正值时,返回NumberOfMonths个月之后的日期,2.function IsLeapYear(Year: Word): Boolean;判断某年是否是闰年3.function EncodeDate(Year, Month, Day: Word): TDateTime;对给定的合法年月日进行日期类型的编码4.procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word); 对一个日期类型的数据,将其分解成年,月,日的形式。

Delphi 日期时间函数

Delphi 日期时间函数
end;
end.
WeeksInAYear、WeeksInYear、DaysInAYear、DaysInAMonth、DaysInYear、DaysInMonth - 获取指定年月的周、日数。
DateUtils.DaysInYear();
DateUtils.DaysInMonth();
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses DateUtils;
t1 := StartOfADay(2009, 140); { 2009 年第 140 天 }
t2 := StartOfTheDay(dt);
t3 := EndOfADay(2009, 140);
t4 := EndOfTheDay(dt);
s1 := FormatDateTime('yyyy-m-d h:n:s:zzz', t1); //2009-5-20 0:0:0:000
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses DateUtils;
ShowMessage(DateTimeToStr(t2)); //2011-1-1 2:01:01

delphitrystrtodatetime参数

delphitrystrtodatetime参数

delphitrystrtodatetime参数在Delphi中,TryStrToDateTime函数用于将字符串转换为DateTime类型的值。

它具有以下参数:1.S:要转换的字符串。

这个参数是必需的。

2. Value:转换后的DateTime值。

它是一个输出参数。

3. AFormatSettings:一个TFormatSettings类型的变量,用于指定日期时间的格式设置。

如果不提供此参数,将使用默认的格式设置。

TryStrToDateTime函数尝试将给定的字符串解析为DateTime值,并将结果存储在Value参数中。

如果字符串无法解析为有效的DateTime值,则函数返回False。

否则,它返回True并将结果存储在Value中。

以下是一个例子:```delphivarDateTimeValue: TDateTime;FormatSettings: TFormatSettings;begin//设置日期时间的格式设置FormatSettings.ShortDateFormat := 'yyyy-mm-dd';FormatSettings.LongTimeFormat := 'hh:nn:ss';// 尝试将字符串转换为DateTime值if TryStrToDateTime('2024-01-01 12:30:00', DateTimeValue, FormatSettings) thenbegin//转换成功ShowMessage('转换成功:' + DateTimeToStr(DateTimeValue));endelsebegin//转换失败ShowMessage('转换失败');end;end;```在上面的例子中,我们使用了一个自定义的格式设置:日期格式为年-月-日,时间格式为小时:分钟:秒。

然后,我们尝试将字符串'2024-01-01 12:30:00'转换为DateTime值。

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

,大于等于这个值则认为事本世纪,否则认为是下世纪,下面给出几个例子说明:
DateTimeToString 过程:
FormatDateTime 函数:
定义:procedure DateTimeToString(var Result: string; const Format: string;
D
ateTime: TDateTime);
function TimeToStr(Time: TDateTime): string; function TimeToStr(Time: TDateTime): string; 作用:将一个 TDateTime 类型的数转换成字符串,DateTimeToStr 转换日期和时间, Date
ToStr 只转换日期,TimeToStr 只转换时间。转换后的输出效果为 YYYY-M-D H:M: S StrToDateTime 函数 StrToDate 函数 StrToTime 函数 定义:function StrToDateTime(const S: string): TDateTime;
通过共
享变量取得输出字符串,值在 Result 中,一个是通过返回值取得输出字符串,
DateTime
参数是希望输出的日期值,Format 由格式标志与附加字符串组合而成。附加字串
用””
圈起,就像 C 中的 Printf 函数.如“今天是 2002 年 5 月 5 日,星期五”的 Format
值就是 ‘”
mm
:用两位整数显示月份,不足两位的用 0 补足(01-12)
mmm
:使用缩略方式显示月份名称,英文版显示为 Jan-Dec,中文
版同 mmmm
mmmm :使用完整方式显示月份名称,英文版显示为
January-December,中文版
为一月~十二月
yy
:按两位整数方式显示年份(00-99)
yyyy :按四位整数方式显示年份(0000-9999)
相关
的部分变量:
DateSeparator :Char
日期分隔符,用于分隔年月日
TimeSeparator :Char
时间分隔符,用于分隔小时,分钟,秒
ShortDateFormat:String
区域设置中短日期格式的定义。
LongDateFormat :String
区域设置中长日期格式的定义。
ShortTimeFormat:String
作用:输入一个时间,将其转换为小时(Hour),分(min),秒(Sec),微秒(MSec)的值。 TDateTime 类型与字符串型转换函数: DateTimeToStr 函数: DateToStr 函数 TimeToStr 函数 定义:function DateTimeToStr(DateTime: TDateTime): string;
function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime; 作用:用于在 TDataTime 类型与 TTimeStamp 之间进行互相转换。TDataTime 用一个 doubl e 描绘一个时间,而 TTimeStamp 则是采用两个整形数分别描述时间。两种类型的区 别可参 考文章开始处的数据类型描述部分。 EncodeDate 函数:
区域设置中短时间格式的定义。 LongTimeFormat :String 区域设置中长时间格式的定义。 TimeAMString :String 用来表示上午的字符串 TimePMString :String 用来表示下午的字符串 ShortMonthNames:array[1..12] of String; 用于缩略表示月份名称的数组,就是在使用 FormatDateTime 时显示的 mmm 标识的字 符串 LongMonthNames:array[1..12] of String; 用于完整表示月份名称的数组,就是在使用 FormatDateTime 时显示的 mmmm 标识的 字符串
function StrToDate(const S: string): TDateTime; function StrToTime(const S: string): TDateTime; 作用:将带有日期时间格式的字符串转化成 TDateTime,其中 S 必须是一个有效的 字符串 ,如 YY-MM-DD HH:MM:SS 格式,否则就会触发 EConvertError 事件,提示错误 信息。 时间部分的字符串必须是由 2~3 个的数值字串构成,并且采用在 Windows 区域设置 中设置的分隔字符进行分隔,其格式要求符合在 Windows 区域设定中的设定,其中 HH,MM( 小时,分钟)必须添加,SS(秒)可选,也可以在后面加入 Am 和 Pm 区分上下午, 这时候 系统将认为采用 12 小时表示法,否则认为采用 24 小时表示法。 日期部分的格式要求符合 Windows 区域设置中的短日期格式,也是由 2~ 3 个的数值 字串构成,如果在字符串中只有 2 个数,则认为是指定了月份和日期,年份采用当 前年份 , 如果在区域设置中采用两位年份的表示方法,则系统将会采用以下方法处 理: 首先在区域设置中取得两位年份的起始年份,如在区域设置中设两位年份 范围为 1932-2031 年,则起始年份为 32 年,如果这个起始年份为 0,则认为两位年份表示 的都是 本世纪,如果其实年份大于 0 ,则采用当前年份减去起始年份的值,这个值称为基 准值
ShortDayNames :array[1..7] of String; 用于缩略表示星期名称的数组,就是在使用 FormatDateTime 时显示的 ddd 标识的字 符串 LongDayNames :array[1..7] of String; 用于完整表示星期名称的数组,就是在使用 FormatDateTime 时显示的 ddd 标识的字 符串 TwoDigitYearCenturyWindow:Word = 50; 在使用两位年份时的起始年份。
今天是”yyyy”年”mm”月”dd”日,” dddd’,yyyy,mm,dd,dddd 都是格式标识,

种格式标识的解释如下:
d
:用一位或两位整数显示日子(1-31)
dd
:用两位整数显示日子,不足两位的用 0 补足(01-31)
ddd
:按缩略方式显示当前的星期号,如果 Windows 是英文版,
则显示为 Mon
各种时间类型之间的转换函数 DateTimeToFileDate 函数:
定义:DateTimeToFileDate(DateTime: TDateTime): Integer; 作用: 将一个 TDateTime 类型的时间转化为 Dos 环境中的时间,Dos 环境下对时间 的访问 方法和 VCL 中的 TdateTime 类型不一样,在进行文件操作时,为了保持时间的一致 性,需 要使用 DateTimeToFileDate 函数进行转化,返回的 Integer 的值就是 Dos 下的用于 描述时 间的值。 DateTimeToSystemTime 过程: 定义:procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TS ystemTime); 作用:将一个 TDateTime 类型的时间转换为 Win API 函数所使用的 TSystemTime 类 型,在使 用 WinApi 函数操纵时间时用到。 SystemTimeToDateTime 函数: 定义:function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTim e; 作用:将一个在 WinApi 函数中得到的 TSysTemTime 类型的数转换为 TDateTime 类型。 DateTimeToTimeStamp 函数: TimeStampToDateTime 函数: 定义:DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;
hHale Waihona Puke :用一位或两位整数显示小时(0-23)
hh
:用两位整数显示小时,不足两位的用 0 补足(00-23)
n
:用一位或两位整数显示分钟(0-60)
nn
:用两位整数显示分钟,不足两位的用 0 补足(00-60)
s
:用一位或两位整数显示秒数(0-60)
ss
:用两位整数显示秒数,不足两位的用 0 补足(00-60)
定义:function EncodeDate(Year, Month, Day: Word): TDateTime; 作用: 输入年(year),月(month),日(day)的值,将该日期返回为 TDateTime 类型, 年 的范围为 1-9999,月份的范围为 1-12,日期的范围视当月的情况而定,如果输入的 值超出 范围,则将产生一个 EConvertError 错误。 DecodeDate 过程: 定义:procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word); 作用:输入一个 TDateTime 类型的日期,将其转为年(Year),月(Month),日(Day) 的值。 如果输入值为 0 或小于 0,则年月日均为 0, EncodeTime 函数: 定义:EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime; 作用:输入小时(Hour),分(min),秒(Sec),微秒(MSec)的值,返回一个 TDateTime 类 型的 时间,该值为一个介于 0 至 1 之间的小数。Hour 的取值范围为 0-23,Min 的取值范 围为 0-59 ,Sec 的取值范围为 0-59,MSec 的取值范围为 0-999,如果输入值超出范围,则产生 一个 EC onvertError 错误。 DecodeTime 过程: 定义:procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);
相关文档
最新文档