巧做日期扩展

 

需求

任意输入两个日期,直接扩展出两个日期之间的日期。

如:

imagepng

imagepng

在润乾报表中,日期是无法直接用函数来扩展的。
那么要实现类似的效果,就需要搭配其他的函数来实现了。

实现思路

表达式写法如图:

imagepng

设置两个参数,@arg1,@arg2,格式为日期型。

imagepng

先计算两个日期的间隔天数,此处用 interval() 函数。

A3: =interval(@arg1,@arg2)

获取间隔天数后,使用 to 函数来做扩展操作。
B4: =to(0,A3)// 需要从 0 开始。
之后使用 elapse 获取和起始日期间隔多少天的数据,
C4: =elapse(@arg1,B4)

最终结果如图所示:

imagepng

函数说明:

interval()
    函数说明:
        计算两个日期时间型数据的间隔
    语法:
        interval (datetimeExp1,datetimeExp2)
    参数说明:
        datetimeExp1        日期或标准日期格式的字符串
        datetimeExp2        日期或标准日期格式的字符串
        如:yyyy-MM-dd HH🇲🇲ss,yyyy-MM-dd,HH🇲🇲ss
    返回值: 
        整数
    选项:
        @y          计算两个日期时间型数据相差几年
        @q        计算两个日期时间型数据相差几季度
        @m        计算两个日期时间型数据相差几月
        @s        计算两个日期时间型数据相差几秒
        @ms        计算两个日期时间型数据相差几毫秒
        @r        计算两个日期时间型数据间隔,返回实数
                缺省为计算两个日期时间型数据相差几天
        @w        计算两个日期时间型数据相差几周
        @7        计算两个日期时间型数据之间的周日数量,按照左开右闭区间计算
        @1        计算两个日期时间型数据之间的周一数量,按照左开右闭区间计算


elapse()
    函数说明:
        计算相差某个时间的新日期数据
    语法:
        elapse (dateExp, n)
    参数说明:
        dateExp     给定的起始日期表达式,其结果必须为日期或标准日期格式的字符串
        n           整数表达式,需要求得相差n天/年/月的新日期,负数表示n天/年/月前的新日期
    备注:
        算出相差n天/ n月/ n年的新的日期数据dateExp 
        取得指定日期在去年的同月同日,若无同月同日,则返回去年同月最后一天
    返回值:
        日期时间

选项:
       @y        计算与指定日期相差n年的新日期数据
       @q        计算与指定日期相差n季度的新日期数据
       @m        计算与指定日期相差n月的新日期数据
       @e        指定日期是月底时计算后的新日期数据不调整为月底,缺省将把新日期数据调整成月底,与@yqm配合使用
       @s        计算与指定日期相差n秒的新的日期时间数据
       @ms       计算与指定日期相差n毫秒的新的日期时间数据
                无选项缺省时表示算出给定日期n天后的新日期数据