润乾报表中获得指定日期为当年第几天

在我们使用润乾报表的过程中,有些时候会遇到这样的一些情况,就是希望获得一个日期是那个星期的第几天,那个月的第几天或者是那一年的第几天。


关于前面两个需求,我们可以使用day() 函数和dayNo()函数都可以实现的。对于获取指定日期在那一年中属于第几天就需要我们通过其它的方法来计算啦。这里我们可以使用daysAfter()函数和year()函数来实现这样一个功能。如下图所示我们分别算出了今天(使用=now()函数)、20080808(特定日期)和20090201这三个日期分别属于那一年的第几天。




下面我们来看看这个功能是如何实现的。使用=now()函数实现当天的计算”=daysAfter(datetime2(year(dateTime(now()))+”0101″,”yyyyMMdd”),now())+1″,先求出 今天属于哪年,加上”0101″作为本年第一天,求出当天和当年第一天的差距然后加一即可。对于指定日期的第二个和第三个可以使用这样的公式来计算,”=daysAfter(datetime2(year(datetime2(“20080808″,”yyyyMMdd”))+”0101″,”yyyyMMdd”),datetime2(“20080808″,”yyyyMMdd”))+1″,首先还是使用指定的日期获得其年份并求出年初第一天,然后与其进行比较后加一。就能获得所需要的天数。关于计算的正确性我们可以通过第三个日期进行一下验证,20090201这个日期之前一月份有31天,所以这一天很明显是09年的第32天。

热门文章