delphi程序里日期时间怎么控制
4个回答
展开全部
日期时间类型:TDateTime;本质是double,双精度类型;
整数部分代表日期,小数部分代表时间
数值为0时,代表 12/30/1899 12:00 am
因为是double类型,日期调整可以直接以数值加减操作,
具体控制有很多函数,都包含在 Unit:DateUtils中
函数列表:
CompareDate function
CompareDateTime function
CompareTime function
DateOf function
DateTimeToJulianDate function
DateTimeToModifiedJulianDate function
DateTimeToUnix function
Day of week constants
DayOf function
DayOfTheMonth function
DayOfTheWeek function
DayOfTheYear function
DaysBetween function
DaysInAMonth function
DaysInAYear function
DaysInMonth function
DaysInYear function
DaySpan function
TDateTime values.
DecodeDateDay procedure
DecodeDateMonthWeek procedure
DecodeDateTime procedure
DecodeDateWeek procedure
DecodeDayOfWeekInMonth procedure
EncodeDateDay function
EncodeDateMonthWeek function。。。
整数部分代表日期,小数部分代表时间
数值为0时,代表 12/30/1899 12:00 am
因为是double类型,日期调整可以直接以数值加减操作,
具体控制有很多函数,都包含在 Unit:DateUtils中
函数列表:
CompareDate function
CompareDateTime function
CompareTime function
DateOf function
DateTimeToJulianDate function
DateTimeToModifiedJulianDate function
DateTimeToUnix function
Day of week constants
DayOf function
DayOfTheMonth function
DayOfTheWeek function
DayOfTheYear function
DaysBetween function
DaysInAMonth function
DaysInAYear function
DaysInMonth function
DaysInYear function
DaySpan function
TDateTime values.
DecodeDateDay procedure
DecodeDateMonthWeek procedure
DecodeDateTime procedure
DecodeDateWeek procedure
DecodeDayOfWeekInMonth procedure
EncodeDateDay function
EncodeDateMonthWeek function。。。
展开全部
请说明具体需要,要拿时间来做什么,还是说只是为了显示下时间,如果只是为了标签上显示下时间的话,lable1.caption:=now;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题太抽象了,能否详细点?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TTimeStamp 类型:
这是一个用来描述日期与时间的一个结构类型,在Delphi中是这样定义的:
type
TTimeStamp = record
Time: Integer; {从午夜0点开始到指定时间的毫秒数 }
Date: Integer; {以本日为基准到指点日期的天数}
end;
和TDateTime相比,可更直观表示高精度的时间,一般用于毫秒级的运算以及用于表示较长的时间。
PsystemTime 类型:
一个用于WinApi中对时间操作的指针型结构。他的定义为:
type
PSystemTime = ^TSystemTime;
TSystemTime = record
wYear: Word;
wMonth: Word;
wDayOfWeek: Word;
wDay: Word;
wHour: Word;
wMinute: Word;
wSecond: Word;
wMilliseconds: Word;
end;
这个结构多用于调用WinApi操作时使用。
在了解了各种时间类型的本质后,相信大家都有一套操作这些类型的时间的想法,不过在Delphi中还提供了一整套用于操作时间的过程函数,这些过程和函数都定义在SysUnit这个单元中,现在就向大家介绍Delphi中相关函数:
用于时间操作的函数
Date函数:
定义:Date: TDateTime;
作用:返回当前的日期
范例:
CurrentDate := Date;
DayOfWeek函数:
定义:function DayOfWeek(Date: TDateTime): Integer;
作用:得到指定日期的星期值,返回1~7,代表周日到周六。
IncMouth函数:
定义:function IncMonth(const Date: TDateTime; NumberOfMonths: Integer): TDateTime;
作用:求给定的日期Data在NumberOfMonths个月后的日期。
范例:
Date1 := IncMonth(date,10);
如果今天是2002-5-3,则Date1就是2003-3-3
IsLeapYear函数:
定义:function IsLeapYear(Year: Word): Boolean;
作用:判断指定的年份是否是闰年;
范例:
if isLeapYear(2000) then ShowMessage(‘该年是闰年');
Now函数:
定义:function Now: TDateTime;
作用:用于取得当前的日期时间
范例:
CurrentDateTime := Now;
ReplaceDate 过程
定义:procedure ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime);
作用:使用参数Newdate日期部分替换参数DateTime的日期部分,但不改变时间部分。
ReplaceDate 过程
定义:procedure ReplaceTime(var DateTime: TDateTime; const NewTime: TDateTime);
作用:使用参数Newdate时间部分替换参数DateTime的时间部分,但不改变日期部分。
如果上述这两个过程一起用,就相当于赋值了。
Time函数:
定义:function Time: TDateTime;
作用:返回当前的时间
范例:
CurrentTime := Time;
各种时间类型之间的转换函数
DateTimeToFileDate函数:
定义:DateTimeToFileDate(DateTime: TDateTime): Integer;
作用:将一个TDateTime类型的时间转化为Dos环境中的时间,Dos环境下对时间的访问方法和VCL中的TdateTime类型不一样,在进行文件操作时,为了保持时间的一致性,需要使用DateTimeToFileDate函数进行转化, 返回的Integer的值就是Dos下的用于描述时间的值。
DateTimeToSystemTime 过程:
定义:procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);
作用:将一个TDateTime类型的时间转换为Win API函数所使用的TSystemTime类型,在使用WinApi函数操纵时间时用到。
SystemTimeToDateTime 函数:
定义:function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime;
作用:将一个在WinApi函数中得到的TSysTemTime类型的数转换为TDateTime类型。
DateTimeToTimeStamp 函数:
TimeStampToDateTime 函数:
定义:DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;
function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime;
作用:用于在TDataTime类型与TTimeStamp之间进行互相转换。TDataTime 用一个double描绘一个时间,而TTimeStamp则是采用两个整形数分别描述时间。两种类型的区别可参考文章开始处的数据类型描述部分。
EncodeDate 函数:
定义: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,如果输入值超出范围,则产生一个EConvertError 错误。
DecodeTime 过程:
定义:procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);
作用:输入一个时间,将其转换为小时(Hour),分(min),秒(Sec),微秒(MSec)的值。
TDateTime类型与字符串型转换函数:
DateTimeToStr 函数:
DateToStr 函数
TimeToStr函数
定义:function DateTimeToStr(DateTime: TDateTime): string;
function TimeToStr(Time: TDateTime): string;
function TimeToStr(Time: TDateTime): string;
作用:将一个TDateTime类型的数转换成字符串,DateTimeToStr转换日期和时间,DateToStr只转换日期,TimeToStr只转换时间。转换后的输出效果为YYYY-M-D H:M:S
StrToDateTime函数
StrToDate函数
StrToTime函数
定义:function StrToDateTime(const S: string): TDateTime;
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小时表示法。
这是一个用来描述日期与时间的一个结构类型,在Delphi中是这样定义的:
type
TTimeStamp = record
Time: Integer; {从午夜0点开始到指定时间的毫秒数 }
Date: Integer; {以本日为基准到指点日期的天数}
end;
和TDateTime相比,可更直观表示高精度的时间,一般用于毫秒级的运算以及用于表示较长的时间。
PsystemTime 类型:
一个用于WinApi中对时间操作的指针型结构。他的定义为:
type
PSystemTime = ^TSystemTime;
TSystemTime = record
wYear: Word;
wMonth: Word;
wDayOfWeek: Word;
wDay: Word;
wHour: Word;
wMinute: Word;
wSecond: Word;
wMilliseconds: Word;
end;
这个结构多用于调用WinApi操作时使用。
在了解了各种时间类型的本质后,相信大家都有一套操作这些类型的时间的想法,不过在Delphi中还提供了一整套用于操作时间的过程函数,这些过程和函数都定义在SysUnit这个单元中,现在就向大家介绍Delphi中相关函数:
用于时间操作的函数
Date函数:
定义:Date: TDateTime;
作用:返回当前的日期
范例:
CurrentDate := Date;
DayOfWeek函数:
定义:function DayOfWeek(Date: TDateTime): Integer;
作用:得到指定日期的星期值,返回1~7,代表周日到周六。
IncMouth函数:
定义:function IncMonth(const Date: TDateTime; NumberOfMonths: Integer): TDateTime;
作用:求给定的日期Data在NumberOfMonths个月后的日期。
范例:
Date1 := IncMonth(date,10);
如果今天是2002-5-3,则Date1就是2003-3-3
IsLeapYear函数:
定义:function IsLeapYear(Year: Word): Boolean;
作用:判断指定的年份是否是闰年;
范例:
if isLeapYear(2000) then ShowMessage(‘该年是闰年');
Now函数:
定义:function Now: TDateTime;
作用:用于取得当前的日期时间
范例:
CurrentDateTime := Now;
ReplaceDate 过程
定义:procedure ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime);
作用:使用参数Newdate日期部分替换参数DateTime的日期部分,但不改变时间部分。
ReplaceDate 过程
定义:procedure ReplaceTime(var DateTime: TDateTime; const NewTime: TDateTime);
作用:使用参数Newdate时间部分替换参数DateTime的时间部分,但不改变日期部分。
如果上述这两个过程一起用,就相当于赋值了。
Time函数:
定义:function Time: TDateTime;
作用:返回当前的时间
范例:
CurrentTime := Time;
各种时间类型之间的转换函数
DateTimeToFileDate函数:
定义:DateTimeToFileDate(DateTime: TDateTime): Integer;
作用:将一个TDateTime类型的时间转化为Dos环境中的时间,Dos环境下对时间的访问方法和VCL中的TdateTime类型不一样,在进行文件操作时,为了保持时间的一致性,需要使用DateTimeToFileDate函数进行转化, 返回的Integer的值就是Dos下的用于描述时间的值。
DateTimeToSystemTime 过程:
定义:procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);
作用:将一个TDateTime类型的时间转换为Win API函数所使用的TSystemTime类型,在使用WinApi函数操纵时间时用到。
SystemTimeToDateTime 函数:
定义:function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime;
作用:将一个在WinApi函数中得到的TSysTemTime类型的数转换为TDateTime类型。
DateTimeToTimeStamp 函数:
TimeStampToDateTime 函数:
定义:DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;
function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime;
作用:用于在TDataTime类型与TTimeStamp之间进行互相转换。TDataTime 用一个double描绘一个时间,而TTimeStamp则是采用两个整形数分别描述时间。两种类型的区别可参考文章开始处的数据类型描述部分。
EncodeDate 函数:
定义: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,如果输入值超出范围,则产生一个EConvertError 错误。
DecodeTime 过程:
定义:procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);
作用:输入一个时间,将其转换为小时(Hour),分(min),秒(Sec),微秒(MSec)的值。
TDateTime类型与字符串型转换函数:
DateTimeToStr 函数:
DateToStr 函数
TimeToStr函数
定义:function DateTimeToStr(DateTime: TDateTime): string;
function TimeToStr(Time: TDateTime): string;
function TimeToStr(Time: TDateTime): string;
作用:将一个TDateTime类型的数转换成字符串,DateTimeToStr转换日期和时间,DateToStr只转换日期,TimeToStr只转换时间。转换后的输出效果为YYYY-M-D H:M:S
StrToDateTime函数
StrToDate函数
StrToTime函数
定义:function StrToDateTime(const S: string): TDateTime;
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小时表示法。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询