时间段的问题?????该怎么办呢? (10分)

  • 主题发起人 主题发起人 hblyp21
  • 开始时间 开始时间
H

hblyp21

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure Tsb_rcxhjcgl.N2Click(Sender: TObject);
var
sb,da:string;
begin
case dayofweek(date) of
1: begin
sb:='1899-12-24';
da1:=datetimetostr(date+strtodatetime(sb));
clientdataset1.Close;
clientdataset1.CommandText:='select * from sb_rcxhjcgl where xjsj>='+''''+da1+'''';
clientdataset1.Open;//sunday
end;
2: begin
sb:='1899-12-30';
da2:=datetimetostr(date+strtodatetime(sb));
clientdataset1.Close;
clientdataset1.CommandText:='select * from sb_rcxhjcgl where xjsj>='+''''+da2+'''';
clientdataset1.Open;
end;//monday
3: begin
sb:='1899-12-29';
da:=datetimetostr(date+strtodatetime(sb));
clientdataset1.Close;
clientdataset1.CommandText:='select * from sb_rcxhjcgl';
clientdataset1.Open;//tuesday
end;
4: begin
sb:='1899-12-28';
da:=datetimetostr(date+strtodatetime(sb));
clientdataset1.Close;
clientdataset1.CommandText:='select * from sb_rcxhjcgl';
clientdataset1.Open;//wednesday
end;
5: begin
sb:='1899-12-27';
da:=datetimetostr(date+strtodatetime(sb));
clientdataset1.Close;
clientdataset1.CommandText:='select * from sb_rcxhjcgl';
clientdataset1.Open;
end;//thursday
6: begin
sb:='1899-12-26';
da:=datetimetostr(date+strtodatetime(sb));
clientdataset1.Close;
clientdataset1.CommandText:='select * from sb_rcxhjcgl';
clientdataset1.Open;
end;//friday
7: begin
sb:='1899-12-25';
da2:=datetimetostr(date+strtodatetime(sb));
clientdataset1.Close;
clientdataset1.CommandText:='select * from sb_rcxhjcgl';
clientdataset1.Open;
end;//statusday
end;
end;//以上为根据本周记录,提取系统时间得出星期几来查找
这是原来被人的程序我看了老半天愣没看懂??????请教高人!!!
 
求本周星期一的算法。
delphi里面时间起点是1900-00-00 00:00:000
这里date+strtodatetime(sb))实质是一个后退若干天的算法。
'1899-12-30'后退零天
'1899-12-29'后退一天
......
但不知道为什么要写的这么复杂。
 
想必程序作者在clientdataset1中记录一星期的事件,但是 delphi 只有 日期的变量,所以作者纪录的时候都是每个星期都是以星期天那天作为纪录的日期。
所以在查找事件时需要上面的算法,把每天的日期转换成当个星期的星期天。
基本算法就如楼上所说。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
939
SUNSTONE的Delphi笔记
S
回复
4
查看
181
边城过客
后退
顶部