delphi 如何判断两个时间日期间隔 是否为整月?

2016-07-01~~2016-07-31 整月

2016-08-05~~2016-08-31 非整月

2016-09-12~~2016-09-30 非整月

2016-02-01~~2016-02-26 非整月

就是这个意思,如何搞?

注意要USES DateUtils单元;

procedureTMDI_1_1_Frm.Button8Click(Sender: TObject);

varS,Date1,Date2:string;

begin

S:='2016-08-05~~2016-08-31';

Date1:=Copy(S,1,10);

Date2:=Copy(S,13,10);

if(StartOfTheMonth(StrToData(Date1))=StrToData(Date1))and

(EndOfTheMonth(StrToDate(Date2))=StrToData(Date1))

thenshowMessage('整月!')

elseshowMessage('非整月!')

end;

或者

var

sdate,date1,date2:string;

begin

sdate:='2016-02-01~~2016-02-28';

Date1:=Copy(Sdate,1,10);

Date2:=Copy(Sdate,13,10);

if(dayof(strtodate(date1))<>1)or(dayof(incday(strtodate(date2)))<>1)

then

showmessage('非整月')

else

showmessage('整月');

end;