一个特殊的日期计算问题:
已经知道一个工作开始日期,假定为:todate(date),和工作的时限,假定为:lmtdate(integer).
和知道那些日期是非工作日,都在数据表(Fdate)中。字段名为nodate。怎样知道工作
完成的日期呢?(非工作日是不工作的,不能简单把开始日期todate+工作的时限lmdate)
最好有代码说明
已经知道一个工作开始日期,假定为:todate(date),和工作的时限,假定为:lmtdate(integer).
和知道那些日期是非工作日,都在数据表(Fdate)中。字段名为nodate。怎样知道工作
完成的日期呢?(非工作日是不工作的,不能简单把开始日期todate+工作的时限lmdate)
最好有代码说明
解决方案 »
- access数据库如何新增图片
- 请教连接Interbase数据库的问题
- 关于serversocket定向向已知IP地址clientsocket发送信息问题
- 如何使Qreport 预览窗口始终在最前面?
- 用针式打印机时,打印完成之后,打印纸还要走 ,怎么让它刚刚打完就停止走纸?
- 关于com+数据更新问题。急!
- 禁止一个应用程序调用外部程序!
- 关于image控件中的位图,如何取其边框进行打印?高分回报啊!!!
- 注册ODBC后,在注册表中为什么只有用户名,而没有密码???(解决了马上给分)
- 如何控制windows的启动
- DELPHI怎么样能够调用DOS的内部命令?
- 关于日期控件,求助!!!!!!!!!!
var
tmpDate :TDateTime;
nowork :integer;
begin
tmpDate := IncDay(StartDate, Days);
//nowork := StartDate到timpDate这段时间不工作的天数
if nowork = 0 then
result := tmpdate
else
result := resultDate(tmpdate, nowork);
end;
//以上程序只供参考
begin
//这里的代码应该你来填
end;function GetEndDate(BeginDate: TDate; WorkDays: Integer): TDate;
var
I: Integer;
begin
Result := BeginDate;
I := 0;
while I < WorkDays do begin
Result := Result + 1;
if IsWorkDay(Result) then Inc(I);//如果是工作日则计数加1
end;
end;