Delphi-日期时间函数详解.doc
《Delphi-日期时间函数详解.doc》由会员分享,可在线阅读,更多相关《Delphi-日期时间函数详解.doc(19页珍藏版)》请在咨信网上搜索。
1、各种时间类型之间的转换函数 DateTimeToFileDate函数:定义:DateTimeToFileDate(DateTime: TDateTime): Integer;作用: 将一个TDateTime类型的时间转化为Dos环境中的时间,Dos环境下对时间的访问方法和VCL中的TdateTime类型不一样,在进行文件操作时,为了保持时间的一致性,需要使用DateTimeToFileDate函数进行转化,返回的Integer的值就是Dos下的用于描述时间的值。DateTimeToSystemTime 过程:定义:procedure DateTimeToSystemTime(DateTime:
2、 TDateTime; var SystemTime: TSystemTime);作用:将一个TDateTime类型的时间转换为Win API函数所使用的TSystemTime类型,在使用WinApi函数操纵时间时用到。SystemTimeToDateTime 函数:定义:function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime;作用:将一个在WinApi函数中得到的TSysTemTime类型的数转换为TDateTime类型。DateTimeToTimeStamp 函数:TimeStampToDateTime
3、 函数:定义:DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp; function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime;作用:用于在TDataTime类型与TTimeStamp之间进行互相转换。TDataTime 用一个double描绘一个时间,而TTimeStamp则是采用两个整形数分别描述时间。两种类型的区别可参考文章开始处的数据类型描述部分。EncodeDate 函数:定义:function EncodeDate(Year, Month, Day:
4、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,EncodeT
5、ime 函数:定义: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,
6、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类型的数转换成字符串,DateTime
7、ToStr转换日期和时间,DateToStr只转换日期,TimeToStr只转换时间。转换后的输出效果为YYYY-M-D H:M:SStrToDateTime函数StrToDate函数StrToTime函数定义:function StrToDateTime(const S: string): TDateTime; function StrToDate(const S: string): TDateTime; function StrToTime(const S: string): TDateTime;作用:将带有日期时间格式的字符串转化成TDateTime,其中S必须是一个有效的字符串,如 Y
8、Y-MM-DD HH:MM:SS格式,否则就会触发EConvertError事件,提示错误信息。 时间部分的字符串必须是由23个的数值字串构成,并且采用在Windows区域设置中设置的分隔字符进行分隔,其格式要求符合在Windows区域设定中的设定,其中HH,MM(小时,分钟)必须添加,SS(秒)可选,也可以在后面加入 Am和Pm区分上下午,这时候系统将认为采用12小时表示法,否则认为采用24小时表示法。 日期部分的格式要求符合Windows区域设置中的短日期格式,也是由23个的数值字串构成,如果在字符串中只有2个数,则认为是指定了月份和日期,年份采用当前年份, 如果在区域设置中采用两位年份的
9、表示方法,则系统将会采用以下方法处理: 首先在区域设置中取得两位年份的起始年份,如在区域设置中设两位年份范围为1932-2031年,则起始年份为32年,如果这个起始年份为0,则认为两位年份表示的都是本世纪,如果其实年份大于0 ,则采用当前年份减去起始年份的值,这个值称为基准值,大于等于这个值则认为事本世纪,否则认为是下世纪,下面给出几个例子说明:DateTimeToString 过程:FormatDateTime 函数:定义:procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateT
10、ime); function FormatDateTime(const Format: string; DateTime: TDateTime): string;作用:通过定义Format字串中的格式得到要输出时间字符串,例如要输出“今天是2002年5月5日,星期五”就可以用这两种方法,这两个方法的作用相同,只是一个是通过共享变量取得输出字符串,值在Result中,一个是通过返回值取得输出字符串,DateTime参数是希望输出的日期值,Format由格式标志与附加字符串组合而成。附加字串用”圈起,就像C中的Printf函数.如“今天是2002年5月5日,星期五”的Format值就是 ”今天是”
11、yyyy”年”mm”月”dd”日,” dddd,yyyy,mm,dd,dddd都是格式标识,各种格式标识的解释如下: d :用一位或两位整数显示日子(131) dd :用两位整数显示日子,不足两位的用0补足(0131) ddd :按缩略方式显示当前的星期号,如果Windows是英文版,则显示为MonSun,如果是中文版,则显示同dddd。 dddd :按完整方式显示当前的星期号,如Windows是英文版,则显示MondaySumDay,如果是中文版,则显示星期一星期日 ddddd :按区域设置中的短日期格式输出。 dddddd :按区域设置中的长日期格式输出。 m :用一位或两位整数显示月份(
12、112) mm :用两位整数显示月份,不足两位的用0补足(0112) mmm :使用缩略方式显示月份名称,英文版显示为Jan-Dec,中文版同mmmm mmmm :使用完整方式显示月份名称,英文版显示为January-December,中文版为一月十二月 yy :按两位整数方式显示年份(0099) yyyy :按四位整数方式显示年份(00009999) h :用一位或两位整数显示小时(023)hh :用两位整数显示小时,不足两位的用0补足(0023) n :用一位或两位整数显示分钟(060) nn :用两位整数显示分钟,不足两位的用0补足(0060) s :用一位或两位整数显示秒数(060)
13、ss :用两位整数显示秒数,不足两位的用0补足(0060) z :用一位至两位整数显示毫秒数(0999) zzz :用三位整数显示毫秒数,不足三位的用0补足(000999) tt :按照区域设置中的格式显示日期 am/pm :用于12小时制的显示,带有AM的则表示从0点12点,pm代表从12点0点。与时间相关的变量:Delphi封装了区域设置的各种信息,并以此定义了一系列的变量,下面介绍与时间相关的部分变量:DateSeparator :Char日期分隔符,用于分隔年月日TimeSeparator :Char时间分隔符,用于分隔小时,分钟,秒ShortDateFormat:String区域设置
14、中短日期格式的定义。LongDateFormat :String区域设置中长日期格式的定义。ShortTimeFormat:String区域设置中短时间格式的定义。LongTimeFormat :String区域设置中长时间格式的定义。TimeAMString :String用来表示上午的字符串TimePMString :String用来表示下午的字符串ShortMonthNames:array1.12 of String;用于缩略表示月份名称的数组,就是在使用FormatDateTime时显示的mmm标识的字符串LongMonthNames:array1.12 of String;用于完整表
15、示月份名称的数组,就是在使用FormatDateTime时显示的mmmm标识的字符串ShortDayNames :array1.7 of String;用于缩略表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串LongDayNames :array1.7 of String;用于完整表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串TwoDigitYearCenturyWindow:Word = 50;在使用两位年份时的起始年份。Day 开头的函数UnitDateUtilsfunction DateOf(const AValu
16、e: TDateTime): TDateTime;描述使用 DateOf 函数用来把一个 TDateTime 类型的变量转变成一个只带有日期的 TDateTime 类型变量。例如:showmessage(DateTimetostr(dateof(now();你得到的是 2003/03/19而 showmessage(DateTimetostr(now();得到的是 2003/03/19 10:50:49function DateTimeToStr(DateTime: TDateTime): string;描述DateTimeToString 函数将 TDateTime 类型的参数 DateTi
17、me 转换成一个字符串,使用给定的全局变量 ShortDateFormat 的格式,时间部分按照给定的全局变量 LongTimeFormat 的格式。其中 DateTime 为零的部分将不会显示出来。例如:ShortDateFormat:=yyyy mm dd;showmessage(DateTimetostr(now();你将得到:2003 03 19 10:50:49procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);描述:DateTimeToString 方法将
18、TDateTime类型的参数DateTime 按照由参数Format提供的格式转化成字符串,并保存在Result中。对于Format的格式类型,请看 Date-Time format strings 的帮助。例如:DateTimeToString(result,yyyy mm dd,now();那么 result的结果为:2003 03 19 10:50:49procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);描述:有时为了调用API函数来使用系统时间,你可以使用 DateTimeTo
19、SystemTime 方法,来将一个TDateTime 类型的时间变量转换成一个 TSystemTime 类型的 系统时间。function DateTimeToUnix(const AValue: TDateTime ): Int64;描述:使用 DateTimeToUnix 函数来将一个 TDateTime 型时间变量转换成一个相应的 Unix 格式的日期和时间。Unix date-and-time values are encoded as the number of seconds that have elapsedsince midnight at the start of Janu
20、ary 1, 1970.function DateToStr(Date: TDateTime): string;描述:使用 DateToStr 函数能得到 TDateTime 日期时间类型的日期部分。日期的转换格式依赖于全局变量 ShortDateFormat。function DayOf(const AValue: TDateTime): Word;描述:对于给定的TDateTime类型的日期时间,使用 DayOf 函数能得到该日期是该月份的第几天。该函数的返回数值在 1 到 31 之间注意:DayOf 函数得到的结果与 DayOfTheMonth 相同。例如:showmessage(int
21、tostr(dayof(now);得到的是:19 (今天是 某月19日)function DayOfTheMonth(const AValue: TDateTime): Word;与 DayOf 相同。function DayOfTheWeek(const AValue: TDateTime): Word;描述:对于给定的TDateTime类型的日期时间,使用 DayOfTheWeek 函数能得到该日期是该星期的第几天。DayOfTheWeek 函数的返回数值为 1 到 7,其中 1 表示星期一,而 7 表示星期日。注意:DayOfTheWeek 是 ISO 8601 标准的(此标准为 星期一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Delphi 日期 时间 函数 详解
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。