获取日期在当月中是第几周

  • Last update:March 28, 2022
  • 1. 概述

    1.1 版本

    报表服务器版本
    功能变更
    11.0--

    1.2 问题描述

    已知函数中有 WEEK() 可获取日期所在一年中的第几周,如何获取日期在当月的第几周呢?

    1.3 实现思路

    使用 DATEINMONTH() 获取日期所在月份的第一天日期,使用 WEEKDAY() 获取第一天的星期数,加上查询日期的天数,除以 7 向上取整,即为日期在当月的第几周。

    2. 操作步骤

    常见的日期参考:常见日期处理函数

    1. 在 A1 单元格插入公式:RANGE(date(2018, 12, 1), today()),并设置单元格的扩展方向为纵向,如下图所示:

    222
    2. 在 B1 单元格插入公式:ROUNDUP((DAY(A1) + (IF(WEEKDAY(DATEINMONTH(A1, 1)) = 0, 7, WEEKDAY(DATEINMONTH(A1, 1)))) - 1) / 7, 0),如下图所示:

    222

    公式
    说明
     WEEKDAY(DATEINMONTH(A1, 1))日期所属月份第一天对应的星期数
    IF(WEEKDAY(DATEINMONTH(NOW(), 1)) = 0, 7, WEEKDAY(DATEINMONTH(NOW(), 1)))如果日期所属月份第一天对应的星期数为星期天,返回 7,否则返回对应的星期数
    DAY(A1)返回日期中的日
    ROUNDUP((DAY(A1) + (IF(WEEKDAY(DATEINMONTH(A1, 1)) = 0, 7, WEEKDAY(DATEINMONTH(A1, 1)))) - 1) / 7, 0)查询日期的天数加上日期所属月份第一天对应的星期数,除以 7 向上取整

    注:此公式计算结果以星期一为一周的计算起始时间,如需从星期天开始计算,将公式修改为:ROUNDUP((DAY(A1) + (IF(WEEKDAY(DATEINMONTH(A1, 1)) = 0, 7, WEEKDAY(DATEINMONTH(A1, 1))))) / 7, 0)

    3. 效果查看

    保存模板,点击分页预览。

    3.1 PC 端效果

    222

    3.2 移动端效果

    App 与 HTML5 效果相同,如下图所示:

    222

    4. 模板下载

    已完成的模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\使用公式计算日期在当月中的第几周.cpt

    点击下载模板:使用公式计算日期在当月中的第几周.cpt

    Attachment List


    Theme: 报表专题
    Already the First
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy