pb中如何算两个日期的时间间隔

回复人: fibbery(飞) ( ) 信誉:116  2005-2-25 11:42:42  得分: 20  
  
这个很容易,如果忽略day,那么用mon函数和year函数分别得到月和年,然后月份相减,不够减向年份借一,然后,年份相减,结果乘以12与月份差相加。
如果考虑day,比如2001/1/1~2001/3/31,可以认为是3个月,你就酌情在day上做个处理就完了。
  
 回复人: PbAsp(AspNet) ( ) 信誉:100  2005-2-25 11:58:59  得分: 20 
    
没错,
Date fdt_date1,fdt_date2
int li_Cnt
li_Cnt = (year(fdt_date1) - year(fdt_date2))*12 + month(fdt_date1) - month(fdt_date2)

 回复人: hornbilltofy() ( ) 信誉:100  2005-2-25 12:37:02  得分: 20
 
1、pbscript代码中写法
Date fdt_date1,fdt_date2
int li_Cnt
li_Cnt = (year(fdt_date1) - year(fdt_date2))*12 + month(fdt_date1) - month(fdt_date2)
2、使用数据库处理函数,假如你的数据库是sql serve 或sybase:
select datediff(month,:fdt_date1,:fdt_date2) into :li_cnt;

 
 
回复人: j9dai(Code Factory) ( ) 信誉:93  2005-2-25 15:41:51  得分: 20 
 
 
  
2001/10/01到2002/11/01日为13个月
2001/10/01到2002/10/10日为12个月
那么2001/10/10到2002/11/10日为12还是13个月?好像日也要判断吧!//if result=13 then 楼上的法子 else ↓


Date fdt_date1,fdt_date2
int li_Cnt,li_DayFlag
if day(fdt_date1) - day(fdt_date2)<0 then li_dayflag = - 1
li_Cnt = (year(fdt_date1) - year(fdt_date2))*12 + month(fdt_date1) - month(fdt_date2) + li_dayflag
回复人: dnvihpl(逍遥) ( ) 信誉:98  2005-2-25 16:17:15  得分: 0 
 
 
  
能不能先得到相距的天数,用这个数/30得到不就是月数吗?当然这可能得不到整数,四舍五入就可以啦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值