1. 概述编辑
1.1 应用场景
想要将当月最后一天和 23:59:59 拼接在一起,显示在报表中。
例如现在是 7 月,那么打开报表后,显示的日期如下图所示:
1.2 实现思路
需要解决的第一个问题,动态获取当月最后一天:借助MONTHDELTA、DATEINMONTH、TODAY三个函数实现
需要解决的第二个问题,怎么显示固定的时分秒:借助TIME函数实现。
需要解决的第三个问题,怎么将它们拼接在一起:公式分别写在相邻单元格,调整单元格位置靠近即可。
2. 示例编辑
2.1 获取当月最后一天
A1 单元格插入公式:MONTHDELTA(DATEINMONTH(TODAY(), -1), 0),该公式可以获取当月最后一天。
2.2 显示固定时分秒
B1 单元格插入公式:TIME(23, 59, 59),该公式显示固定的时分秒 23:59:59 。
将 B1 单元格的格式修改成时分秒型,如下图所示:
2.3 调整单元格位置
缩短 A1 单元格的宽度,让 2 个单元格的内容靠在一起。
2.4 效果预览
保存报表,分页预览效果如 1.1应用场景 中所示。
支持 App 端和 HTML5 端预览。
3. 模板下载编辑
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\显示当月最后一天.cpt
点击下载模板:显示当月最后一天.cpt
4. 场景拓展编辑
获取上一个月最后一天:MONTHDELTA(DATEINMONTH(TODAY(), -1), -1),就是把最后一个参数改成 -1 即可,上上个月就是 -2 ,依次递推即可。
获取下一个月最后一天:MONTHDELTA(DATEINMONTH(TODAY(), -1), 1),就是把最后一个参数改成 1 即可,下下个月就是 2 ,依次递推即可。
获取当月第一天:MONTHDELTA(DATEINMONTH(TODAY(),1),0)
获取上一个月第一天:MONTHDELTA(DATEINMONTH(TODAY(),1),-1),就是把最后一个参数改成 -1 即可,上上个月就是 -2 ,依次递推即可。
获取下一个月第一天:MONTHDELTA(DATEINMONTH(TODAY(),1),1),就是把最后一个参数改成 1 即可,下下个月就是 2 ,依次递推即可。