function LastDay(xDate: TDate): Word;
var
Y, M , D: Word;
const aMonthLastDay: array[1..12] of word
=(31,28,31,30,31,30,31,31,30,31,30,31);
begin
DecodeDate(xDate, Y, M, D);
if Y mod 4 = 0 then
aMonthLastDay[2] := 29
else
aMonthLastDay[2] := 28;
result := aMonthLastDay[M];
end;
2 則留言:
這樣的寫法是有問題的,閏年判定並未考慮周全。
抓天數我比較喜歡先把日期抓到下個月的1號,然後再網回減一天,就可以取到這個月的最後一天日期,用這樣的方式來算本月天數。
delphi 裡有日期函數
uses system.dateUtil
var firstday,lastday:Tdatetime;
begin
firstday:=starofthemonth(now);
lastday:= endofthemonth(now);
end;
張貼留言