按指定的方式,指定的时间段,得到新日期

来源:互联网 发布:网络基础知识 编辑:程序博客网 时间:2024/05/16 14:37

网上收藏的

/*函数名称:wf_DateAdd函数作用:根据指定的类型,计算相应一段时间后的新日期函数参数:stringls_type指定的方式'year','yy','yyyy' //年份方式'month','mm','m' //月份方式 case 'day','dd','d' //天数方式 'week','wk','ww' //周数方式 'quarter','qq','q' //季度方式dateld_qsrq起始日期integerli_sj指定的时间段函数返回值:dateld_NewDate新日期*/date ld_NewDateint listring lsif li_sj = 0 then return ld_qsrqchoose case lower(ls_type)    case 'year','yy','yyyy' //年份        li = year(ld_qsrq) + li_sj        if li < 1900 or li > 3000 then return 1900-01-01        ls = string(li) + string(ld_qsrq, '-mm-dd')    case 'quarter','qq','q' //季度        li = month(ld_qsrq) + 3 * li_sj        ls = string(year(ld_qsrq) + int((li -1) / 12)) + string(mod(li, 12) - 6 * (sign(li) - 1), '-00') + string(ld_qsrq, '-dd')    case 'month','mm','m' //月份        li = month(ld_qsrq) + li_sj        ls = string(year(ld_qsrq) + int((li -1) / 12)) + string(mod(li, 12) - 6 * (sign(li) - 1), '-00') + string(ld_qsrq, '-dd')    case 'day','dd','d' //天数        return RelativeDate ( ld_qsrq, li_sj )    case 'week','wk','ww' //周数        return RelativeDate ( ld_qsrq, li_sj * 7 )    case else        return ld_qsrqend chooseif ls = '1900-01-01' then return 1900-01-01ld_NewDate = date(ls)if ld_NewDate = 1900-01-01 then ld_NewDate = wf_dateadd('dd', wf_dateadd('mm', date(left(ls, 8) + '01'), 1), -1)return ld_NewDate


 

调用方式

date ld_qsrqdate ld_NewDateinteger li_sjld_qsrq = date(sle_qsrq.text)//起始日期li_sj= long(sle_sj.text)//时间段//天数方式sle_day.text = string(wf_DateAdd("day",ld_qsrq,li_sj),'yyyy-mm-dd')//月份方式sle_month.text = string(wf_DateAdd("month",ld_qsrq,li_sj),'yyyy-mm-dd')//年份方式sle_year.text = string(wf_DateAdd("year",ld_qsrq,li_sj),'yyyy-mm-dd')//季度方式sle_quarter.text = string(wf_DateAdd("quarter",ld_qsrq,li_sj),'yyyy-mm-dd')//周方式sle_week.text = string(wf_DateAdd("week",ld_qsrq,li_sj),'yyyy-mm-dd')

 

计算结果


原创粉丝点击