扩展出连续日期

在集智数据平台中,当用户在页面上输入起始日期和截止日期之后,希望能将这两个日期之间的日期都扩展出来。比如,输入一个2011-01-272011-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()这三个函数来共同实现。下面举例说明。

新建一张报表

A1B1中分别是两个日期。

A2中写:=to(0,daysafter(A1,B1))

B2中写:=relDate(A1,A2)

daysAfter(A1,B1)可计算出两个日期之间相差的天数,然后通过to()对单元格进行一个扩展,那么在B2中的relDate(A1,A2)其实就是relDate(2010-12-20,number)number是一个具体的数值。

预览效果如下:

如果日期是以参数的形式输入,那么可以这么写:

先定义两个日期型的参数,starttimeendtime

通过单元格引用参数的值。

DaysAfter()函数说明:

计算两个日期型数据相差几天

语法:

daysAfter(dateExp1, dateExp2)

参数说明:

dateExp1 日期或标准日期格式的字符串,

如:yyyy-MM-dd HH:mm:ssyyyy-MM-ddHH:mm:ss

dateExp2 日期或标准日期格式的字符串,

如:yyyy-MM-dd HH:mm:ssyyyy-MM-ddHH:mm:ss

返回值:

整数

示例:

1daysAfter(dateTime(“1983-12-15 10:20:30″),datetime2(“19821230“,”yyyyMMdd“))

返回:-350

2daysAfter(“1983-12-15 10:20:30″,”1982-12-30″) 返回:-350

RelDate()函数说明:

从给定的日期型数据中,算出相差n天后的新的日期数据

语法:

relDate(dateExp, nExp)

参数说明:

dateExp 给定的起始日期表达式,其结果必须为日期或标准日期格式的字符串,

如:yyyy-MM-dd HH:mm:ssyyyy-MM-dd HH:mm:ss

nExp 整数表达式,需要求得nExp天后的新日期

返回值:

日期时间

示例:

1relDate(datetime2(“19800227″,”yyyyMMdd”),5) 返回:1980-03-03 00:00:00

2relDate(“1972-11-08 10:20:30″,-10) 返回:1972-10-29 10:20:30

3relDate(dateTime(“2006-01-15 13:20:30″),15) 返回:2006-01-30 13:20:30