读书人

求DELPHI语句:想遍历quot;2005-1-15quot;quot;2007

发布时间: 2012-03-19 22:03:04 作者: rapoo

求DELPHI语句:想遍历"2005-1-15"---"2007-1-28"之间的天数!如何做?
如上主题.谢谢各位!!!

[解决办法]
不明白楼主所说的“遍历 "2005-1-15 "--- "2007-1-28 "之间的天数!”是什么意思。

给你两个代码:

uses DateUtils;

procedure TForm1.Button1Click(Sender: TObject);//求两日期之间的天数
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;
[解决办法]
查询语句可以这样:
select StrMonth= datediff(mm, '2007-1-15 ', '2007-1-28 ') 月
select StrYear= datediff(yy, '2007-1-15 ', '2007-1-28 ') 年
select StrDay= datediff(dd, '2007-1-15 ', '2007-1-28 ') 日
select StrWeek= datediff(ww, '2007-1-15 ', '2007-1-28 ') 周
[解决办法]
Tdatetime=type double;
...............................
var
startdate,enddate:integer;
astar,aend:tdatetime;

astart:=strtodatetime( '2007-1-15 ');
aend:=strtodatetime(2007-1-28 ');
startdate:=trunc(astart);
enddate:=trunc(aend);
...//enter your process code here...

读书人网 >.NET

热点推荐