注册 登录
编程论坛 PowerBuilder

pb的工作日计算问题

waiyi 发布于 2006-11-17 11:29, 1468 次点击

除了星期六,星期天,51七天,十一7天,春节,元宵的节假日以外的时间都是工作日
假如今天是2006年11月17号,那么限期日期就是过了10个工作日的最后时间
我想要得到的功能就是知道一个日期,自动获得限期日期~~~
急~~~

[此贴子已经被作者于2006-11-17 11:31:08编辑过]

1 回复
#2
muyue99992007-01-04 10:30

不写代码了,给你些思路

在数据库建立日历表,对于非工作日的时间进行标注,这样比写死在程序里哪天是工作日要强,可配置.也能解决客户临时工作日历变化的情况和润年2月29日的情况.

建立函数F_LATER(date_start,date_later)//启始日,延迟天数

{
//1取得启始日(11月17号)和延迟天数(10天),用PB自带的延期函数取得日期.11月27日

//2检索在11月17日至11月27日之间的有几天非工作日(从工作时间表里)比如有4天非工作日

//3如果存在非工作日,调用自身 F_LATER(11月27日,4 ),如果不存在非工作日了,则递归结束

//4返回最后的日期
}

1