请问建立将两个日期间的清单,这段代码哪错了?没分了,大家看看也行... StartDate:=2007-01-01;
while StartDate=2007-12-31 do
begin
StartDate:=IncDay(StartDate,1); //取日期
WeekName:=DateToWeek(DayOfTheWeek(StartDate)); //取星期
CnDay:=CnDayOfDateJr(StartDate); //取节日
ExeSql('Insert into WorkDay(考勤年月,班次名称,日期,星期,状态)values('''+DBEdit12.Text+''','''+DBEdit1.Text+''','''+DateToStr(StartDate)+''','''+WeekName+''','''+CnDay+''') ');
end;
while StartDate=2007-12-31 do
begin
StartDate:=IncDay(StartDate,1); //取日期
WeekName:=DateToWeek(DayOfTheWeek(StartDate)); //取星期
CnDay:=CnDayOfDateJr(StartDate); //取节日
ExeSql('Insert into WorkDay(考勤年月,班次名称,日期,星期,状态)values('''+DBEdit12.Text+''','''+DBEdit1.Text+''','''+DateToStr(StartDate)+''','''+WeekName+''','''+CnDay+''') ');
end;
var
D1, D2 : TDateTime;
Days : integer;
begin
D1 := VarToDateTime('2005-1-15');
D2 := VarToDateTime('2007-1-28');
Days := DaysBetween(D1,D2);//简单地利用Delphi自带的DaysBetween函数就可以了
showmessage(IntToStr(Days));
end;procedure TForm1.Button2Click(Sender: TObject);//从日期D1开始循环,直到D2
var
D1, D2 : TDateTime;
begin
D1 := VarToDateTime('2005-1-15');
D2 := VarToDateTime('2007-1-28');
while D1 <> D2 do
begin
{ Do SomeThing }//在这里做你要做的事
D1 := IncDay(D1,1);//D1每循环一次加一天,直到与D2相等,就退出循环
end;//IncDay也是Delphi自带的函数
end;