怎样根据系统时间读出本月的第一天的日期和最后一天的日期,有没有相应的函数?(50分)

  • 主题发起人 主题发起人 black-eyes
  • 开始时间 开始时间
在DateUtils单元中:
function StartOfAMonth(const AYear, AMonth: Word): TDateTime;
function EndOfAMonth(const AYear, AMonth: Word): TDateTime;
 
t:=strtodate(formatdatetime('yyyy-mm-',now)+'01');
edit1.Text := formatdatetime('yyyy-mm-dd',t);
t:=strtodate(formatdatetime('yyyy-mm-',incmonth(now,1))+'01')-1;
edit2.Text := formatdatetime('yyyy-mm-dd',t);
要函数的话把1、3两行自定义成函数,放到公共单元就好了。
 
miaofeng的也可以,但要uses DateUtils单元,且至少要Delphi6版本。
 
还是用这套函数吧,也在DateUtils单元:
function StartOfTheMonth(const AValue: TDateTime): TDateTime;
function EndOfTheMonth(const AValue: TDateTime): TDateTime;

得到本月第一天和最后一天:
StartOfTheMonth(Now);
EndOfTheMonth(Now);
 
没有,自己写
procedure GetFirstLast(const: theDate: TDate
var FirstDate, LastDate: TDate);
var
Y, M, D: Word;
begin
DecodeDate(theDate, Y, M, D);
FirstDate := EncodeDate(Y, M, 1);
if M = 12 then
begin
Inc(Y);
M := 1;
end else Inc(M);
LastDate := EncodeDate(Y, M, 1) - 1;
end;
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
928
DelphiTeacher的专栏
D
后退
顶部