反馈已提交

网络繁忙

您正在浏览的是 FineBI6.1 帮助文档,点击跳转至: FineBI5.1帮助文档

常用日期公式

  • 文档创建者:Roxy
  • 历史版本:27
  • 最近更新:April陶 于 2024-12-05
  • 1. 概述

    在对日期型数据进行操作时,经常会遇到要获取当前日期、获取当前时间、获取日期的年月日等等操作。

    本文介绍 FineBI 常用的处理日期函数。

    2. 获取指定日期时间

    实现内容
    公式结果
    获取当前时间
    获取当前日期(年月日)=today()若系统日期是 2011 年 11 月 11 号,则返回值为 2011-11-11
    获取当前时间(时分秒)=now()若单元格格式为常规,系统日期是 2012 年 06 月 20 号,返回的值 2012-06-20 14:55:57
    获取日期的年、月、日
    获取年份=year("2011-11-11")返回值为 2011
    获取月份=month("2011-11-11")返回值为 11
    获取日期=day("2011-11-11")返回值为 11
    获取某年/季度/月/周的第几天
    昨天
    NOW()-1若系统时间为 2021-11-09 11:43:53,则返回 2021-11-08 11:43:53
    年初第一天DATE(YEAR(NOW()),01,01)若系统时间为 2011-11-11,则返回 2011-01-01
    当月最后一天
    DATE(YEAR(TODAY()),MONTH(TODAY()),DAYSOFMONTH(TODAY()))
    若系统时间为 2021-11-11,则返回 2021-11-30
    当月天数
    DAYSOFMONTH(now())若系统时间为 2021-11-11,则返回 30
    距今已过多少天DATEDIF(date(year(日期),month(日期),DAY(日期)),today(),"D")  若日期为2021-10-10,系统时间为2021-11-09,则返回 29
    当年第几周week(today())
    若日期为2021-10-10,则返回 41
    获取相对于当前月份的某时间
    当月=MONTH(today())若系统日期是 2011-11-11,则返回值为 11
    去年同期=YEARDELTA(today(),-1)若系统日期是 2011-11-11,则返回值为 2010-11-11
    上上月=date(year(today()),MONTH(today())-2,day(today()))若系统日期是 2011-11-11,则返回值为 2011-09-11
    上月=date(year(today()),MONTH(today())-1,day(today()))若系统日期是 2011-11-11,则返回值为 2011-10-11
    去年同期上月=date(year(today())-1,MONTH(today())-1,day(today()))若系统日期是 2011-11-11,则返回值为 2010-10-11
    当月月末

    =DATEDELTA(date(year(MONTHDELTA(日期,1)),month(MONTHDELTA(日期,1)),1),-1)

    或者 DATE(YEAR(日期),MONTH(日期)+1,1-1)

    若系统日期是 2011-11-11,则返回值为 2011-11-30

    取当前维度下的最大值时间

    注:仅适用于仪表板。

    FORMAT(TODATE(MAX_AGG(DATETONUMBER(日期))),"YYYY-MM-dd HH:mm:ss")

    3. 时间的转化

    实现内容
    公式结果
    数据类型转化

    将日期形式的「字符串」转化成「时间型」

    todate() 可以将任何日期形式的数据转化成时间型即:yyyy-MM-dd 

    =todate("2011/11/11")若系统日期是 2011 年 11 月 11 号,则返回值为 2011-11-11

    将时间型数据转化成其他格式的日期形式

    format() 

    =format("2/15/2011","dd/MM/yyyy")

    返回值为 15/02/2011

    阳历转化为农历
    阳历转化成农历=lunar(2011,10,11)返回的是 2011 年 10 月 11 号对应的农历日期即返回值为辛卯年九月十五
    =lunar(2011,10,1)返回的是 2011 年 10 月 1 号对应的农历日期即返回值为辛卯年九月初五


    4. 日期的加减计算

    可以通过 datedelta()、monthdelta()、yeardelta() 这三个函数来实现对日期的加减。

    实现内容
    公式结果
    数据类型转化

    日期的加减

    =datedelta(today(),-1)

    注:公式中的 -1 表示减一天,若是正数则表示加相应的天数。

    返回当前日期前一天的日期,若系统日期是 2011-11-11,则返回值为 2011-11-10

    月份的加减

    =monthdelta(today(),-1)

    返回当前日期上一个月的日期,若系统时间是 2011-11-11,则返回值为 2011-10-11

    年份的加减=yeardelta(today(),-1)返回当前日期上一年的日期,若系统日期是 2011-11-11,则返回值为 2010-11-11


    附件列表


    主题: 进阶学习
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持