Delphi日期函数

所在单元: DateUtils

Day 开头的函数

1、DayOf()

描述: 使用 DateOf 函数用来把一个 TDateTime 类型的变量转变成一个 只带有日期的 TDateTime 类型变量。 例如: showmessage(DateTimetostr(dateof(now()))); 你得到的是 2003/03/19 而 showmessage(DateTimetostr((now()))); 得到的是

2、DateTimeTostr()

描述: DateTimeToString 函数将 TDateTime 类型的参数 DateTime 转换成一个 字符串,使用给定的全局变量 ShortDateFormat 的格式,时间部分按照 给定的全局变量 LongTimeFormat 的格式。 其中 DateTime 为零的部分将不会显示出来。 例如: ShortDateFormat:=’yyyy mm dd’; showmessage(DateTimetostr((now()))); 你将得到:2003

3、DateTimeToString

描述: DateTimeToString 方法将TDateTime类型的参数DateTime 按照由参数Format提供的格式 转化成字符串,并保存在Result中。 对于Format的格式类型,请看 Date-Time format strings 的帮助。 例如: DateTimeToString(result,’yyyy mm dd’,now()); 那么 result的结果为:2003

4、DateTimeToSystemTime ()

描述: 有时为了调用API函数来使用系统时间,你可以使用 DateTimeToSystemTime 方法,来将一个 TDateTime 类型的时间变量转换成一个 TSystemTime 类型的 系统时间。

5、DateTimeToUnix ()

描述: 使用 DateTimeToUnix 函数来将一个 TDateTime 型时间变量转换成一个相应的 Unix 格式 的日期和时间。

6、DateToStr()

描述: 使用 DateToStr 函数能得到 TDateTime 日期时间类型的日期部分。日期的转换格式依赖于 全局变量 ShortDateFormat。

7、DayOf 与DayOfTheMonth

描述: 对于给定的TDateTime类型的日期时间,使用 DayOf 函数能得到该日期是该月份的第几天。 该函数的返回数值在 1 到 31 之间 注意:DayOf 函数得到的结果与 DayOfTheMonth 相同。 例如: showmessage(inttostr(dayof(now))); 得到的是:19 (今天是 某月19日) 与 DayOf 相同。

8、DayOfTheWeek

描述: 对于给定的TDateTime类型的日期时间,使用 DayOfTheWeek 函数能得到该日期是该星期的 第几天。DayOfTheWeek 函数的返回数值为 1 到 7,其中 1 表示星期一,而 7 表示星期日。 注意:DayOfTheWeek 是 ISO 8601 标准的(此标准为 星期一是一周的第一天)。对于一周 的第一天是星期日的标准,如果想获得星期数,请使用 DayOfWeek 函数。

9、DayOfTheYear

描述: 根据给定的日期时间参数Avalue,使用 DayOfTheYear 函数能得到在该日期所在的年份中,该 日期按照顺序所计算的天数。因此,作为TDateTime类型的变量 “1月1日”在该函数所得到的 结果为 1 ,“1月2日”所得到的结果为 2,“2月1日”所得到的结果就为 32,依次类推。

10、DayOfWeek

描述: 按照给定的TDateTime类型的参数Date,DayOfWeek 函数得到一周中的第几天,从1到7。 这里 星期日 是一周的第一天,而 星期六 是第七天。

11、DaysBetween

描述: 根据两个TDateTime类型的日期时间变量 ANow 和 AThen,DaysBetween函数能得到两者之间的 天数的差距。 DaysBetween 仅仅根据天数的不同来计算。因此,对于 1999年12月31日 下午11点59分 到 2000年1月1日 11点58分,该函数得到的结果是 0,因为两者之间的时间差别还差 1 分钟才到 1 天。

12、DaysInAMonth

描述: 对于各定的 年份和月份,DaysInAMonth 函数能得到 该月份的总天数。 年份应该为 从 1 到 9999 月份应该为 从 1 到

13、DaysInAYear

描述: 对于给定的年份,DaysInAYear函数能得到该年份的总天数。 年份应该为 1 到 9999。

14、DaysInMonth

描述: 根据给定的TDateTime类型的时间日期参数Avalue,DaysInMonth函数能得到该月份的总天数。

5、DaysInYear

描述: 根据给定的TDateTime类型的时间日期参数Avalue,DaysInYear函数能得到该年份的总天数。

16、DaySpan

描述: 根据两个TDateTime类型的日期时间参数ANow和AThen,DaySpan能得到在天数上的差距。 与 DaysBetween 函数不同,DaysBetween 函数 只是计算 整的天数,而 DaySpan函数会 将不足一天的数也得到。 注意:此函数返回的数值为 Double 型。

☆      Month 开头的函数

1、MonthOf

描述: 根据给定的TDateTime类型的时间日期参数Avalue,MonthOf函数能得到该年份的该月份数。 MonthOf返回数值为 1 到 12。 注意:MonthOf函数得到的数值与MonthOfTheYear函数相同 与MonthOf函数相同。

2、MonthsBetween

描述: 根据两个给定的TDateTime类型的参数ANow和AThen,MonthsBetween函数能得到两个日期在月份上差距数。因为月份的天数是不同的,所以 MonthsBetween 函数返回的是一个近似值,该近似 值基于每个月份为 30.4375 天。不足一个月的数字将不被计算。 因此,例如,对于 2月1日 到 2月28日,MonthsBetween 返回的数值为 0。 同样,对于 2月1日 到 3月1日,MonthsBetween 返回的数值也是 0。

3、MonthsBetween

描述: 根据两个给定的TDateTime类型的参数ANow和AThen,MonthsBetween函数能得到两个日期在月份 上差距数。因为月份的天数是不同的,所以 MonthsBetween 函数返回的是一个近似值,该近似 值基于每个月份为 30.4375 天。与 MonthsBetween 函数不同,MonthsBetween函数不计算不足 一个月的数字,MonthSpan函数将会得到不足一个月的数字。 注意:此函数返回的类型为


☆     Week 开头的函数

1、WeekOf

描述: 根据TDateTime类型的日期时间参数AValu,WeekOf函数会得到该星期为一年的第几个 星期。

2、WeeksInAYear

描述: WeeksInAYear 函数根据年份得到在该年份中共包含多少个星期。

3、WeeksBetween

描述: 根据两个TDateTime类型的日期时间参数ANow和AThen,WeeksBetween函数将得到这两个时间在 星期上的差数。如果差数不足一个星期,则忽略掉。

4、WeekSpan

描述: 根据两个TDateTime类型的日期时间参数ANow和AThen,WeeksBetween函数将得到这两个时间在 星期上的差数。如果差数不足一个星期,则WeekSpan函数不会忽略掉。 注意:此函数的返回类型为 Double


☆     Year 开头的函数

1、YearOf

描述: 根据给定的TDateTime类型的日期时间参数Avalue,YearOf函数能得到该日期的年份数字。 YearOf函数返回的数值为从 1 到

2、YearsBetween

描述: 根据两个给定的TDateTime类型的参数ANow和AThen,YearsBetween函数能得到两个日期在年份 上差距数。因为年份的天数是不同的,所以 YearsBetween 函数返回的是一个近似值,该近似 值基于每年的天数为 365.25 天。不足的一年的差距将不会被计算。 因此例如:对于 1月1日和12月31日,如果这两个日期在同一年,则 YearsBetween 返回数值 为 0;如果这两个日期在临近的年份,则 YearsBetween 函数返回数值为 1。

3、YearSpan

描述: 根据两个给定的TDateTime类型的参数ANow和AThen,YearsBetween函数能得到两个日期在年份 上差距数。因为年份的天数是不同的,所以 YearsBetween 函数返回的是一个近似值,该近似 值基于每年的天数为 365.25 天。与 YearsBetween 函数不同,YearsBetween函数将忽略掉不 足一年的数字,而 YearSpan 将计算不足一年的数字。 注意:该函数返回类型为Double 。

4、Yesterday

描述: Yesterday函数能得到当前日期的前一天的日期,返回数值中不包括时间部分。 例如: 当前日期是 2003/3/19 则 showmessage(datetimetostr(Yesterday)); 将得到 2003/3/18

☆     日期的合成

1、EncodeDate

描述: EncodeDate函数将根据参数 年份、月份、日子 而得到一个TDateTime类型的时间变量。

2、EncodeDateDay

描述: EncodeDateDay将根据参数年份和天数,而得到一个TDateTime类型的时间变量。 其中AYear 为 1 到 9999。 ADayOfYear 为日子在该年份顺序排列的天数,例如,1月1日时,ADayOfYear为1, 2月2日时,ADayOfYear为2,3月1日时,ADayOfYear为32。 const ADayOfWeek: Word =

3、EncodeDateMonthWeek

描述: EncodeDateMonthWeek 函数将根据参数 年份、月份、星期数,星期几,来得到一个TDateTime类型 的时间变量。 其中AYear 为 1 到 9999。 其中AMonth 为 1 到 12。 AWeekOfMonth是在该月份的星期数,1 表示第一个星期,可能包含4天或更多的天数。 注意,一个月的第一天如果是 星期5,星期6或星期日,用表示这三天的AMonth数值必须设定 为上一个月份的数字,同时 AWeekOfMonth 要设为在上一个月所在的星期数。 同样,如果一个月的最后一天是 星期1,星期2,或星期3,那么用表示这三天的AMonth数值 必须设定为下一个月份的数字,同时 AWeekOfMonth 为 1。 ADayOfWeek表示星期几,星期一为1,星期二为2。

4、EncodeDateTime

描述: EncodeDateTime 根据参数 年份、月份、日子、小时、分、秒、毫秒 来得到一个TDateTime类型 日期时间。 const ADayOfWeek: Word =

5、AWeekOfYear

描述:EncodeDateWeek 根据参数 年份、星期数、星期几 来得到一个TDateTime类型日期时间。 AWeekOfYear是在该年份的星期数,1 表示第一个星期,可能包含4天或更多的天数。 注意,一年的第一天如果是 星期5,星期6或星期日,用表示这三天的AYear数值必须设定 为上一个年份的数字,同时 AWeekOfYear 要设为在上一个年所在的星期数。 同样,如果一年的最后一天是 星期1,星期2,或星期3,那么用表示这三天的AYear数值 必须设定为下一个年份的数字,同时 AWeekOfYear 为 1。ADayOfWeek表示星期几,星期一为1,星期二为2。

6、EncodeTime

描述: EncodeTime函数根据参数 小时、分、秒、毫秒 得到个一个TDateTime数值。


☆日期的分解

1、DecodeDate

描述: DecodeDate从一个TDateTime类型参数Date中分解出得到年份、月份、日子。

2、DecodeDateDay

描述:DecodeDateDay 方法会根据TDateTime类型参数Avalue 得到相应的年份和日期总数。ADayOfYear:1月1日,此数值为1;1月2日,此数值为2。

3、DecodeDateMonthWeek

描述: DecodeDateMonthWeek方法根据TDateTime类型参数Avalue 得到相应的年份、月份、月份中的第几个 星期、星期几 AYear:年份 AMonth:月份,1 到 12 。

4、AWeekOfMonth

AWeekOfMonth:在该月份中的第几个星期

5、ADayOfWeek

ADayOfWeek:星期几。星期一为1。

6、DecodeDateTime

描述: DecodeDateTime 方法根据TDateTime类型参数Avalue 得到相应的年份、月份、日子、小时、分、秒、 毫秒。

7、DecodeDateWeek

描述: DecodeDateWeek方法根据TDateTime类型参数Avalue 得到相应的年份、在该年中的第几个星期、星期几。

 

add 2009-04-09 10:58
IncMonth
SysUtils.pas
function IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer = 1): TDateTime;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值