扩展出连续日期
在润乾报表中,当用户在页面上输入起始日期和截止日期之后,希望能将这两个日期之间的日期都扩展出来。比如,输入一个2011-01-27和2011-02-02,那么可以扩展出:
2011-01-27
2011-01-28
2011-01-29
2011-01-30
2011-01-31
2011-01-27
2011-02-01
2011-02-02
这种效果可以通过daysAfter(),relDate(),to()这三个函数来共同实现。下面举例说明。
新建一张报表:
A1和B1中分别是两个日期。
A2中写:=to(0,daysafter(A1,B1))
B2中写:=relDate(A1,A2)
daysAfter(A1,B1)可计算出两个日期之间相差的天数,然后通过to()对单元格进行一个扩展,那么在B2中的relDate(A1,A2)其实就是relDate(2010-12-20,number),number是一个具体的数值。
预览效果如下:
如果日期是以参数的形式输入,那么可以这么写:
先定义两个日期型的参数,starttime和endtime
通过单元格引用参数的值。
DaysAfter()函数说明:
计算两个日期型数据相差几天
语法:
daysAfter(dateExp1, dateExp2)
参数说明:
dateExp1 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss
dateExp2 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss
返回值:
整数
示例:
例1:daysAfter(dateTime(“1983-12-15 10:20:30″),datetime2(“1982年12月30日”,”yyyy年MM月dd日”))
返回:-350
例2:daysAfter(“1983-12-15 10:20:30″,”1982-12-30″) 返回:-350
RelDate()函数说明:
从给定的日期型数据中,算出相差n天后的新的日期数据
语法:
relDate(dateExp, nExp)
参数说明:
dateExp 给定的起始日期表达式,其结果必须为日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或 HH:mm:ss
nExp 整数表达式,需要求得nExp天后的新日期
返回值:
日期时间
示例:
例1:relDate(datetime2(“19800227″,”yyyyMMdd”),5) 返回:1980-03-03 00:00:00
例2:relDate(“1972-11-08 10:20:30″,-10) 返回:1972-10-29 10:20:30
例3:relDate(dateTime(“2006-01-15 13:20:30″),15) 返回:2006-01-30 13:20:30