问一个关于日期的问题(50分)

  • 主题发起人 主题发起人 Thomas Chong
  • 开始时间 开始时间
T

Thomas Chong

Unregistered / Unconfirmed
GUEST, unregistred user!
正在做数据库统计,请问如何得到当前日期的这个月的第一天和最后一天啊?好急,最好给出
程序。
 
procedure TForm1.Button1Click(Sender: TObject);
var
present: TDate;
FirstDate: TDate;
LastDate: TDate;
Year, Month, Day: Word;
begin
Present:= Date;
DecodeDate(Present, Year, Month, Day);
FirstDate:=EncodeDate(Year, Month, 1);
if Month=12 then
LastDate:=EncodeDate(Year, Month,31)
else
LastDate:=EncodeDate(Year, Month+1, 1) - 1;
end;
 
我的思路是这样的:先用decodedate()分解出当前日期的年、月、日,
然后用下一个月的1号用encodedate()合成,再减去当月1号,就得到了本月的天数。
 
DecodeDate()函数是正确的
 
完全同意楼上dongberlin的程序!
可惜来晚了!!
 
可将 dongberlin 的程序改得更简单,用以下一句代替被注释的语句:
LastDate:=incMonth(FirstDate)-1;

{
if Month=12 then
LastDate:=EncodeDate(Year, Month,31)
else
LastDate:=EncodeDate(Year, Month+1, 1) - 1;
}
 
接受答案了.
 
后退
顶部