首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

怎么换取两个时间间隔,并将时间存入数组

2012-03-29 
如何换取两个时间间隔,并将时间存入数组界面有两个时间输入框,我想循环获取两个时间比如 2010-1-9 到20

如何换取两个时间间隔,并将时间存入数组
界面有两个时间输入框,我想循环获取两个时间

比如 '2010-1-9' 到'2010-1-20'

并且把每天的日期全部存放进数组,如何做到啊?

希望各位给个例子啊,谢谢

[解决办法]
integer li_days,li_i
date ld_date[]
li_days=daysafter(2010-1-9,2010-1-20)
for li_i = 1 to li_days
ld_date[li_i] =RelativeDate ( 2010-1-9, 1 )
next

[解决办法]
主要是daysafter()和relativedate()两个函数
 DaysAfter() 
功能 得到两个日期间的天数
语法 DaysAfter ( date1, date2 ) 
参数 date1 date类型 指定起始日期
date2 date类型 指定终止日期
返回值 Long 函数执行成功时得到两个日期之间的天数 如果 date2的日期在 date1的前面 那么DaysAfter()函数返回负值 如果任何参数的值为NULL 则DaysAfter()函数返回 NULL

 RelativeDate() 
功能 得到指定日期前多少天或后多少天的日期
语法 RelativeDate(date,n) 
参数 date Date类型 指定基准日期n integer类型 指定天数
返回值 Date 当n的值大于0 时返回参数date指定日期后第 n 天的日期 当 n 的值小于 0 时返回参数 date 指定日期前第 n 天的日期 如果任何参数的值为 NULL 则relativeDate()函数返回 NULL

示例仅供参考,请自行完善
date ld_start,ld_end,ld_day[]
int n,i

ld_start=date('2011-1-1')
ld_end=date('2011-1-10')

n=daysafter(ld_start,ld_end)

for i=1 to n
ld_day[i]=RelativeDate( ld_start, i ) 
next
[解决办法]
还可以这样:
date ld_bdate, ld_date[]
int i = 0

ld_bdate = date('2010-1-9')
do while ld_bdate <= date('2010-1-20')
i ++
ld_date[i] = ld_bdate
ld_bdate = RelativeDate(ld_bdate, 1)

loop

热点排行