反饋已提交

網絡繁忙

常見日期函式

1. 概述

在對日期型資料進行操作時,經常會遇到要獲取當前日期、獲取當前時間、獲取日期的年月日等等操作。

本文介紹 FineReport 常用的處理日期函式。

注:當日期型公式作為參數在超連結中傳參時,將會傳過去帶有時分秒的原始值。

2. 獲取指定日期時間

實現內容
公式結果
獲取當前時間
獲取當前日期(年月日)=today()若系統日期是 2011 年 11 月 11 號,則傳回值為 2011-11-11
獲取當前時間(時分秒)=now()若儲存格格式為標準,系統日期是 2012 年 06 月 20 號,傳回的值 2012-06-20 14:55:57
顯示當前月份所在季度=roundup(month(today())/3)若系統日期為 2011 年 11 月 11 號,則傳回值為 4
獲取日期的年、月、日
獲取年份=year("2011-11-11")傳回值為 2011
獲取月份=month("2011-11-11")傳回值為 11
獲取日期=day("2011-11-11")傳回值為 11
獲取某年/季度/月/週的第幾天
DATEINYEAR(date, number) 獲取某年的第幾天當前年的第一天=dateinyear(today(),1)若系統日期是 2011-11-11,則傳回值為 2011-01-01
當前年的最後一天=dateinyear(today(),-1)若系統日期是 2011-11-11,則傳回值為 2011-12-31
DATEINQUARTER(date, number) 獲取某季度的第幾天當前季度的第一天=dateinquarter(today(),1)若系統日期是 2011-11-11,則傳回值為 2011-10-01
當前季度的最後一天=dateinquarter(today(),-1)若系統日期是 2011-11-11,則傳回值為 2011-12-31
DATEINMONTH(date, number)獲取某月的第幾天當前月的第一天=dateinmonth(today(),1)若系統日期是 2011-11-11,則傳回值為 2011-11-01
當前月的最後一天=dateinmonth(today(),-1)若系統日期是 2011-11-11,則傳回值為 2011-11-30
DATEINWEEK(date, number) 獲取某週的第幾天當前週的第一天=dateinweek(today(),1)若系統日期是 2011-11-11,則傳回值為 2011-11-07
當前週的最後一天=dateinweek(today(),-1)若系統日期是 2011-11-11,則傳回值為 2011-11-13
獲取相對於當前月份的某時間
當月=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
上月月末=ENDOFMONTH(TODAY(),-1)若系統日期是 2011-11-11,則傳回值為 2011-10-31
上月月初=DATEINMONTH(MONTHDELTA(TODAY(),-1),1)若系統日期是 2011-11-11,則傳回值為 2010-10-01

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

注:若傳回的日期格式為類似Tue Jul 29 00:00:00 CST 2008。可以使用FORMAT函式巢,例如FORMAT(DATEDELTA("2008-08-08",-10), "MM/dd/yyyy")。

月份的加減

=monthdelta(today(),-1)

傳回當前日期上一個月的日期,若系統時間是 2011-11-11,則傳回值為 2011-10-11

年份的加減=yeardelta(today(),-1)傳回當前日期上一年的日期,若系統日期是 2011-11-11,則傳回值為 2010-11-11


附件列表


主題: 報表專題
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

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

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

不再提示

10s後關閉