Delphi中从一个日期时间中判断当年是否闰年、算出当月的天数

应用场景

日期中计算经常会用到

函数代码

function IsLeapYear(const ADateTime: TDateTime): Boolean;
begin
  Result := SysUtils.IsLeapYear(DateYear(ADateTime));
end;

function DaysInMonth(const ADateTime: TDateTime): Byte;
const
  cDaysPerMonth: array[1..12] of Byte =  // array of days in months
    (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  cMonthFeb = 2;            // month number of February
  cDaysInLeapYearFeb = 29;  // number of days in February in leap year
var
  Month: Word;  // month component of specified date
begin
  Month := DateMonth(ADateTime);
  Result := cDaysPerMonth[Month];
  if (Month = cMonthFeb) and IsLeapYear(ADateTime) then
    Result := cDaysInLeapYearFeb;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D-Nolan

请我喝杯咖啡吧,鼓励一下创作!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值