历史版本19 :常用日期公式 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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,则返回 2011-11-30
当月天数
DAYSOFMONTH(now())若系统时间为 2021-11-11,则返回 30
距今已过多少天DATEDIF(date(year(日期),month(日期),1),today(),"D")若日期为2021-10-10,系统时间为2021-11-09,则返回 39
当年第几周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-31

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