當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

常用日期公式

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

取當前維度下的最大值時間

注:僅適用於儀表板。

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


附件列表


主題: 数据分析进阶
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!