博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

{TDateTime}日期数据类型

Posted on 2011-10-28 11:04  豪杰的爸爸  阅读(547)  评论(0编辑  收藏  举报

System 单元声明的TDateTime 实数类型有特殊的转换规则,当TDateTime 转换为任何其它类型时,它被
看作Double 类型;当整数、实数或布尔类型转换为TDateTime 时,它先转换为Double,然后当作date-time
值来读取;当一个字符串被转换为TDateTime 时,它使用区域设置解释为date-time 值;当Unassigned
值转换为TDateTime 时,它被看作实数或整数的0;把Null 值转换为TDateTime 会引发异常。

 

大小 8字节 浮点数

var
  d: Double;
  AYear, AMonth, ADay: integer;
begin
  AYear := 2011;
  AMonth := 10;
  ADay := 28;
  d := EncodeDate(AYear, AMonth, ADay);  // d=40844.
end;
// 0 代表 1899年12月30日
// 1 代表 1899年12月31日
// 2 代表 1900年01月01日
// 3 代表 1899年01月02日
//......
// 40844 代表 2011年10月28日
// 40845 代表 2011年10月29日
//DateUtils时间单元,非常有用。
//
//记得引用这个单元,不然不能用。
//
//CompareDate 比较两个日期时间值日期部分的大小
//CompareDateTime 比较两个日期时间值的大小
//CompareTime 比较两个日期时间值时间部分的大小
//DateOf 去除日期时间值的时间部分
//DateTimeToJulianDate 转换日期时间值为儒略日
//DateTimeToModifiedJulianDate 转换日期时间值为改进的儒略日
//DateTimeToUnix 转换日期时间值为Unix/Linus日期时间值
//Day of week 常量 ISO 8601标准中一周各天顺序的 常量
//DayOf 返回一个日期时间值的天
//DayOfTheMonth 返回一个日期时间值的天
//DayOfTheWeek 返回一个日期时间值是那星期的第几天
//DayOfTheYear 返回一个日期时间值是那年的第多少天
//DaysBetween 返回两个日期时间值之间相差的整数天数
//DaysInAMonth 返回指定年、月的天数
//DaysInAYear 返回指定年的天数
//DaysInMonth 返回一个日期时间值的那个月的天数
//DaysInYear 返回一个日期时间值的那一年的天数
//DaySpan 返回两个日期时间值之间相差的小数天数
//DecodeDateDay 返回一个日期时间值的年份和是一年的第多少天
//DecodeDateMonthWeek 返回一个日期时间值的年、月、那个月的第几周、那周的第几天
//DecodeDateTime 返回一个日期时间值的年、月、日、时、分、秒、毫秒
//DecodeDateWeek 返回一个日期时间值的年、一年的第多少周、一周的第几天
//DecodeDayOfWeekInMonth 返回一个日期时间值的年、月、一周的第几天、那个月的第几个星期几
//EncodeDateDay 返回指定年和一年的第多少天的日期时间值
//EncodeDateMonthWeek 返回指定年、月、那个月的第几周、那周的第几天的日期时间值
//EncodeDateTime 返回指定年、月、日、时、分、秒,毫秒返的日期时间值
//EncodeDateWeek 返回指定年、那年的第多少周、那周的第几天的日期时间值
//EncodeDayOfWeekInMonth 返回指定年、月、那个月的第几个星期几的日期时间值
//EndOfADay 返回指定年、那年第多少天的最后一秒的日期时间值
//EndOfAMonth 返回指定年、月的最后一天最后一秒的日期时间值
//EndOfAWeek 返回指定年、那年第多少周、那周第几天的最后一秒的日期时间值
//EndOfAYear 返回指定年的最后一天最后一秒的日期时间值
//EndOfTheDay 返回指定日期时间值的那一天最后一秒的日期时间值
//EndOfTheMonth 返回指定日期时间值的那个月的最后一天最后一秒的日期时间值
//EndOfTheWeek 返回指定日期时间值的那一周的最后一天最后一秒的日期时间值
//EndOfTheYear 返回指定日期时间值的那一年最后一天最后一秒的日期时间值
//HourOf   返回指定日期时间值的小时部分
//HourOfTheDay   返回指定日期时间值的小时部分.
//HourOfTheMonth   返回从指定日期时间值的那个月的第一天0点到指定日期的小时已经度过的小时数
//HourOfTheWeek   返回从指定日期时间值中那一周第一天0点到指定日期的那个小时 已经度过的小时数
//HourOfTheYear   返回从指定日期时间值中 那一年第一天0点到指定日期的那个小时已经度过的小时数
//HoursBetween   返回两个指定日期时间值之间相差的小时数
//HourSpan   返回两个指定日期时间值之间相差的小时数(包括小数部分)
//IncDay   返回日期时间值向后推移指定天数后的值
//IncHour   返回日期时间值向后推移指定小时数的值
//IncMilliSecond   返回日期时间值向后推移指定毫秒数的值
//IncMinute   返回日期时间值向后推移指定分钟数的值
//IncSecond   返回日期时间值向后推移指定秒数的值
//IncWeek   返回日期时间值向后推移指定星期数的值
//IncYear   返回日期时间值向后推移指定星期数的值
//IsInLeapYear   判断指定的日期时间值的年份是否为闰年
//IsPM   判断指定的日期时间值的时间是否是中午12:0:0之后
//IsSameDay   判断一个日期时间值与标准日期时间值是否是同一天
//IsToday   判断一个日期时间值是否是当天
//IsValidDate   判断指定的年、月、日是否是有效的日期
//IsValidDateDay   判断指定的年、该年的天数是否是该年有效的天数
//IsValidDateMonthWeek   判断指定的年、月、该月的第几周、该周的第几天是否是有效的日期
//IsValidDateTime   判断指定的年、月、日、时、分、秒、毫秒是否是有效的日期时间值
//IsValidDateWeek   判断指定的年、该年的第多少周、该周第几天是否是有效的日期
//IsValidTime   判断指定的时、分、秒、毫秒是否是有效的时间
//JulianDateToDateTime   转换儒略日期为日期时间值
//MilliSecondOf   返回指定日期时间值的毫秒部分
//MilliSecondOfTheDay   返回指定日期时间值的那天0时0分0秒0毫秒开始到其指定时间的毫秒数
//MilliSecondOfTheHour   返回指定日期时间值的那一小时0分0秒0毫秒开始到其指定时间的毫秒数
//MilliSecondOfTheMinute   返回指定日期时间值的那一分钟0秒0毫秒开始到其指定时间的毫秒数
//MilliSecondOfTheMonth   返回指定日期时间值的那个月1日分钟0秒0毫秒开始到其指定时间的毫秒数
//MilliSecondOfTheSecond   返回指定日期时间值的毫秒部分
//MilliSecondOfTheWeek   返回指定日期时间值的那周星期一0时0分0秒0毫秒到其指定时间的毫秒数
//MilliSecondOfTheYear   返回指定日期时间值的那年1月1日0时0分0秒0毫秒到其指定时间的毫秒数
//MilliSecondsBetween   返回两个指定日期时间值之间相差的毫秒数(整数)
//MilliSecondSpan   返回两个指定日期时间值 之间相差的毫秒数(小数)
//MinuteOf   返回指定日期时间值 分钟部分
//MinuteOfTheDay   返回指定日期时间值的那天0时0分开始到其指定时间的分钟数
//MinuteOfTheHour   返回指定日期时间值的分钟部分
//MinuteOfTheMonth   返回指定日期时间值的那个月1日0时0分开始到其指定时间的分钟数
//MinuteOfTheWeek   返回指定日期时间值的那周第1天0时0分开始到其指定时间的分钟数
//MinuteOfTheYear   返回指定日期时间值的那年1月1日0时0分开始到其指定时间的分钟数
//MinutesBetween   返回两个指定日期时间值之间相差的分钟数(整数)
//MinuteSpan   返回两个指定日期时间值之间相差的分钟数(包含小数)
//ModifiedJulianDateToDateTime   转换修正的儒略日为日期时间值
//MonthOf   返回指定日期时间值的月份部分
//MonthOfTheYear   返回指定日期时间值的月份部分
//MonthsBetween   返回两个指定日期时间值之间相差的月份(整数)
//MonthSpan   返回两个指定日期时间值之间相差的月份(包含小数)
//NthDayOfWeek   返回指定日期时间值该月的第几个星期几
//OneHour 常量 Delphi与时间成反比的常量
//OneMillisecond 常量 Delphi与时间成反比的常量
//OneMinute 常量 Delphi与时间成反比的常量
//OneSecond 常量 Delphi与时间成反比的常量
//RecodeDate   替换指定日期时间值的日期部分
//RecodeDateTime   选择替换指定日期时间值
//RecodeDay   替换指定日期时间值 的日部分
//RecodeHour   替换指定日期时间值 的小时部分
//RecodeMilliSecond   替换指定日期时间值的毫秒部分
//RecodeMinute   替换指定日期时间值的分钟部分
//RecodeMonth   替换指定日期时间值的月份部分
//RecodeSecond   替换指定日期时间值的秒部分
//RecodeTime   替换指定日期时间值的时间部分
//RecodeYear   替换指定日期时间值的年份部分
//SameDate   判断两个日期时间值的年、月、日部分是否相同
//SameDateTime   判断两个日期时间值的年、月、日、时、分、秒、毫秒是否相同
//SameTime   判断两个日期时间值的时、分、秒、毫秒部分是否相同
//SecondOf   返回指定日期时间值的秒部分
//SecondOfTheDay   返回从指定日期时间值那天0时0分0秒到其指定时间的秒数
//SecondOfTheHour   返回从指定日期时间值那小时0分0秒到其指定时间的秒数
//SecondOfTheMinute   返回从指定日期时间值那分钟0秒到其指定时间的秒数
//SecondOfTheMonth   返回从指定日期时间值那个月1日0时0分0秒到其指定时间的秒数
//SecondOfTheWeek   返回从指定日期时间值所在周的星期一0时0分0秒到其指定时间的秒数
//SecondOfTheYear   返回从指定日期时间值那年的1月1日0时0分0秒到其指定时间的秒数
//SecondsBetween   返回两个指定日期时间值之间相差的秒数(整数)
//SecondSpan   返回两个指定日期时间值之间相差的秒数(包含小数)
//StartOfADay   返回指定那天开始(0时0分0秒0毫秒)的日期时间值
//StartOfAMonth   返回指定年、月的第一天开始(0时0分0秒0毫秒)的日期时间值
//StartOfAWeek   返回指定年、第多少周、第几天开始(0时0分0秒0毫秒)的日期时间值
//StartOfAYear   返回指定年开始(1月1日0时0分0秒0毫秒)的日期时间值
//StartOfTheDay   返回指定日期时间值那天开始(0时0分0秒0毫秒)的日期时间值
//StartOfTheMonth   返回指定日期时间值那个月开始(1日0时0分0秒0毫秒)的日期时间值
//StartOfTheWeek   返回指定日期时间值那周开始(第一天0时0分0秒0毫秒)的日期时间值
//StartOfTheYear   返回指定日期时间值那年开始(1月1日0时0分0秒0毫秒)的日期时间值
//TimeOf   返回指定日期时间值的时间部分
//Today   返回当天的日期
//Tomorrow   返回下一天的日期
//TryEncodeDateDay   计算指定年、该年第多少天的日期时间值
//TryEncodeDateMonthWeek   计算指定年、月、该月第几周、该周第几天的日期时间值
//TryEncodeDateTime   转换指定年、月、日、时、分、秒、毫秒为日期时间值
//TryEncodeDateWeek   转换指定年、该第多少周、该周第几天为日期时间值
//TryEncodeDayOfWeekInMonth   转换指定年、月、该月第几个星期几为日期时间值
//TryJulianDateToDateTime   转换指定儒略日为日期时间值
//TryModifiedJulianDateToDateTime   转换指定修正儒略日为日期时间值
//TryRecodeDateTime   选择替换指定日期时间值的某些部分
//UnixToDateTime   转换Unix或Linux日期、时间值为Delphi日期时间值
//WeekOf   返回指定日期时间值是某年的第多少周
//WeekOfTheMonth   返回指定日期时间值是某月的第 几周
//WeekOfTheYear   返回指定日期时间值是某年的第多少周
//WeeksBetween   返回两个指定日期时间值 之间相差多少周(整数)
//WeeksInAYear   返回指定的年有多少周
//WeeksInYear   返回指定日期时间值的那年有多少周
//WeekSpan   返回两个指定日期时间值之间相差多少周(包含小数)
//WithinPastDays   判断两个日期之间相差 是否在指定天数的范围内
//WithinPastHours   判断两个日期 时间值之间相差是否在指定小时的范围内
//WithinPastMilliSeconds   判断两个日期时间值之间相差是否在指定毫秒的范围内
//WithinPastMinutes   判断两个日期时间值之间相差是否在指定分钟的范围内
//WithinPastMonths   判断两个日期时间值之间相差是否在指定月份的范围内
//WithinPastSeconds   判断两个日期时间值之间相差是否在指定秒数的范围内
//WithinPastWeeks   判断两个日期时间值之间相差是否在指定星期数的范围内
//WithinPastYears   判断两个日期时间值之间相差是否在指定年数的范围内
//YearOf   返回指定日期时间值中年份部分
//YearsBetween   返回两个指定日期时间值之间相差的年份数(整数)
//YearSpan   返回两个指定日期时间值之间相差的年份数(包含小数)
//Yesterday 返回当前日期之前一天(昨天)的日期

http://blog.csdn.net/zhongguoren666/article/details/6653720