应用场景:按月统计信息时,经常会使用到各月的开始日期、结束日期等。
设计思路:取出当前月的1月1日,然后取出下个月的1月1日,下个月的1月1日前移一天得到上个月的最后一天,直接用函数计算两个日期之间的天数,这样设计的好处就是思路简单,不用考虑闰月等问题,正好pb也有现成的函数可以直接使用。
例子:
long i
long ll_qjh,ll_ts
date ld_s,ld_e
for i = 1 to 12
ll_qjh = long(sle_1.text +string(i,"00"))
// 开始日期设为1日
ld_s = date(sle_1.text+"-"+string(i,"00")+"-01")
// 12月取下年的1月1日,其他月度取下月
if i =12 then
ld_e = date(string(long(sle_1.text)+1,"0000")+"-01-01")
else
ld_e = date(sle_1.text+"-"+string(i+1,"00")+"-01")
end if
// 获取月底的日期
ld_e = relativeDate(ld_e, - 1)
//获取天数
ll_ts = DaysAfter(ld_s, ld_e) +1
// dw中输出
dw_1.insertrow(0)
dw_1.setitem(i,"qjh",ll_qjh)
dw_1.setitem(i,"ksrq",ld_s)
dw_1.setitem(i,"jsrq",ld_e)
dw_1.setitem(i,"ts",ll_ts)
Next
sle_1中,输入需要的年份,设计思路简单,代码就简单,短短4行就达到了目的,分享一下。