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

日期和時間函數

凡函數中以日期作爲參數因子的,其中日期的形式都必須是 yyyy/mm/dd。而且必須用英文環境下雙引号(" ")引用。

1. DATE

DATE(year,month,day):返回一個表示某一特定日期的系列數。

Year:代表年,可爲一到四位數。

Month:代表月份。

若 1<=month<= 12,則函數把參數值作爲月。

若 month>12,則函數從年的一月份開始往上累加。例如:DATE(2000,25,2) 等於 2002 年 1 月 2 日的系列數。

Day:代表日。

若日期小於等於某指定月的天數,則函數将此參數值作爲日。

若日期大於某指定月的天數,則函數從指定月份的第一天開始往上累加。若日期大於兩個或多個月的總天數,則函數把減去兩個月或多個月的餘數加到第三或第四個月上,依此類推。

如:DATE(2000,3,35)等於 2000 年 4 月 4 日的系列數。

示例:

DATE(1978, 9, 19)等於 1978 年 9 月 19 日。

DATE(1211, 12, 1)等於 1211 年 12 月 1 日。

其中月和日爲 1 到 9 之間的數字時,不需要在前面加上 0 而直接寫數字如 DATE(2011, 2, 1)即可。

2. DATEDELTA

DATEDELTA(date, deltadays):返回一個日期——date 後 deltadays 的日期。deltaDays 可以爲正值,負值,零。

示例:

DATEDELTA("2008-08-08", -10)等於 2008-07-29。

DATEDELTA("2008-08-08", 10)等於 2008-08-18。

3. DATEDIF

DATEDIF(start_date,end_date,unit):返回兩個指定日期間的天數、月數或年數。

Start_date:代表所指定時間段的初始日期。

End_date:代表所指定時間段的終止日期。

Unit:函數返回信息的類型。

若 unit=“Y”,則 DATEDIF 返回指定時間段的年差數。

若 unit=“M”,則 DATEDIF 返回指定時間段的月差數。

若 unit=“D”,則 DATEDIF 返回指定時間段的日差數。

若 unit=“MD”,則 DATEDIF 忽略年和月,返回指定時間段的日差數。

若 unit=“YM”,則 DATEDIF 忽略年和日,返回指定時間段的月差數。

若 unit=“YD”,則 DATEDIF 忽略年,返回指定時間段的日差數。

示例:

DATEDIF("2001/2/28","2004/3/20","Y")等於 3,即在 2001 年 2 月 28 日與 2004 年 3 月 20 日之間有 3 個整年。

DATEDIF("2001/2/28","2004/3/20","M")等於 36,即在 2001 年 2 月 28 日與 2004 年 3 月 20 日之間有 36 個整月。

DATEDIF("2001/2/28","2004/3/20","D")等於 1116,即在 2001 年 2 月 28 日與 2004 年 3 月 20 日之間有 1116 個整天。

DATEDIF("2001/2/28","2004/3/20","MD")等於 8,即忽略月和年後,2001 年 2 月 28 日與 2004 年 3 月 20 日的差爲 8 天。

DATEDIF("2001/1/28","2004/3/20","YM")等於 2,即忽略日和年後,2001 年 1 月 28 日與 2004 年 3 月 20 日的差爲 2 個月。

DATEDIF("2001/2/28","2004/3/20","YD")等於 21,即忽略年後,2001 年 2 月 28 日與 2004 年 3 月 20 日的差爲 21 天。

4. DATEINMONTH

DATEINMONTH(date, number):函數返回在某一個月當中第幾天的日期。

示例:

DATEINMONTH("2008-08-08", 20)等於 2008-08-20。

5. DATEINQUARTER

DATEINQUARTER(date, number):函數返回在某一個季度當中第幾天的日期。

示例:

DATEINQUARTER("2009-05-05", 20)等於 2009-04-20。

6. DATEINWEEK

DATEINWEEK(date, number):函數返回在某一個星期當中第幾天的日期。

示例:

dateInWeek("2008-08-28", 2)等於 2008-08-26。

7. DATEINYEAR

DATEINYEAR(date, number):函數返回在某一年當中第幾天的日期。

示例:

dateInYEAR("2008/12/03", 300)等於 2008-10-26。

8. DATESUBDATE

DATESUBDATE(date1, date2, op):返回兩個日期之間的時間差。

op表示返回的時間單位:

"s",以秒爲單位。

"m",以分鍾爲單位。

"h",以小時爲單位。

"d",以天爲單位。

"w",以周爲單位。

示例:

DATESUBDATE("2008-08-08", "2008-06-06","h")等於 1512。

9. DATETONUMBER

DATETONUMBER(date):返回自 1970 年 1月 1日 00:00:00 GMT 經過的毫秒數。

示例:

DATETONUMBER("2008-08-08")等於 1218124800000。

10. DAY

DAY(serial_number):返回日期中的日。DAY 是介於 1 和 31 之間的一個數。

Serial_number:含有所求的年的日期,參數爲空時默認爲當天日期。

注: FineReport 将日期保存爲系列數,一個系列數代表一個與之匹配的日期,以方便用戶對日期進行數值式計算。

在 1900 年日期系統中,FineReport 電子表格将 1900 年 1 月 1 日保存爲系列數 2,将 1900 年 1 月 2 日保存爲系列數 3,将 1900 年 1 月 3 日保存爲系列數 4……依此類推。如在1900 年日期系統,1998 年 1 月 1 日存爲系列數 35796。

示例:

DAY("2000/1/1")等於 1。

DAY("2006/05/05")等於 5。

DAY("1997/04/20")等於 20。

DAY(35796)等於1。

11. DAYS360

DAYS360(start_date,end_date,method):按照一年 360 天的算法(每個月以 30 天計,一年共計 12 個月),返回兩日期間相差的天數,這在會計計算中将會用到的。如果财務系統是基於一年 12 個月,每月 30 天,可用此函數幫助計算支付款項。

Start_date和 end_date :是用於計算期間天數的起止日期。

Method:它指定了在計算中是采用歐洲方法還是美國方法。

Method定義:FALSE 或忽略 美國方法 (NASD)。如果起始日期是一個月的 31 号,則等於同月的 30 号。如果終止日期是一個月的 31 号,并且起始日期早於 30 号,則終止日期等於下一個月的 1 号,否則,終止日期等於本月的 30 号。

TRUE歐洲方法。無論是起始日期還是終止日期爲一個月的 31号,都将等於本月的 30号。

注: FineReport 将日期保存爲系列數,一個系列數代表一個與之匹配的日期,以方便用戶對日期進行數值式計算。

在 1900 年日期系統中,FineReport 電子表格将 1900 年 1 月 1 日保存爲系列數 2,将 1900 年 1 月 2 日保存爲系列數 3,将 1900 年 1 月 3 日保存爲系列數 4……依此類推。如在1900 年日期系統,1998 年 1 月 1 日存爲系列數 35796。

示例:

DAYS360("1998/1/30", "1998/2/1")等於 1

12. DAYSOFMONTH

DAYSOFMONTH(date):返回從 1900 年 1 月後某年某月包含的天數。

示例:

DAYSOFMONTH("1900-02-01")等於 28

DAYSOFMONTH("2008/04/04")等於 30

13. DAYSOFQUARTER

DAYSOFQUARTER(date):返回從 1900 年 1 月後某年某季度的天數。

示例:

DAYSOFQUARTER("2009-02-01")等於 90

DAYSOFQUARTER("2009/05/05")等於 91

14. DAYSOFYEAR

DAYSOFYEAR(year):返回 1900 年以後某年包含的天數。

示例:

DAYSOFYEAR(2008)等於 366

15. DAYVALUE

DAYVALUE(date):此函數可用來把一個日期轉化爲一個系列數,返回值爲一個數字。

轉化原理:1900 年 1 月 1 日至 date 日期所經曆的天數,一個日期匹配一個系列數,方便用戶對日期進行數值式計算。

參數
含義參數格式
date需要轉化的日期

日期格式或代表日期的文本格式,例如“2000/2/28”

數字格式:整數,例如 1000001

date 爲整數時,date 大於1000000,認爲是 unix 時間;date 小於或等於1000000,認爲是距 1900 年 1 月 1 日的天數。unix 時間是指從 1970 年 1 月 1 日 開始所經過的秒數,不考慮閏秒。

示例:

DAYVALUE("2000/1/1") 等於 36526。

DAYVALUE( 1000001) 等於 25568 。

注:如果 date 參數格式不規範,則返回1900年 1 月 1 日至當前日期所經曆的天數。

例如:若今天爲 2020/09/01,DAYVALUE("2008/02/") 等於 44074,DAYVALUE("0.877766")等於 44074

16. HOUR

HOUR(serial_number):返回某一指定時間的小時數。函數指定 HOUR 爲 0(0:00)到 23(23:00)之間的一個整數。

Serial_number:包含所求小時的時間。

示例:

HOUR("11:32:40")等於 11。

17. MINUTE

MINUTE(serial_number):返回某一指定時間的分鍾數,其值是介於 0 與 59 之間的一個整數。

Serial_number:包含所求分鍾數的時間。

示例:

MINUTE("15:36:25")等於 36。

18. MONTH

MONTH(serial_number):返回日期中的月,月是介於 1 和 12 之間的一個數。

Serial_number:含有所求的月的日期,參數爲空時默認爲當天日期。

注: FineReport 将日期保存爲系列數,一個系列數代表一個與之匹配的日期,以方便用戶對日期進行數值式計算。

在 1900 年日期系統中,FineReport 電子表格将 1900 年 1 月 1 日保存爲系列數 2,将 1900 年 1 月 2 日保存爲系列數 3, 将 1900 年 1 月 3 日保存爲系列數 4……依此類推。

如:在 1900 年日期系統,1998 年 1 月 1 日存爲系列數 35796。

示例:

MONTH("2004/5/5")等於 5。

MONTH(35796)等於 1。

19. MONTHDELTA

MONTHDELTA(date,delta):返回指定日期 date 後 delta 個月的日期。

示例:

MONTHDELTA("2008-08-08", 4)等於 2008-12-08。

20. NOW

NOW():獲取當前時間。

示例:

如果系統時間是 2017-06-27 14:58:06, 則:

NOW()等於 2017-06-27 14:58:06。

21. SECOND

SECOND(s erial_number):返回某一指定時間的秒數,其值是介於 0 與 59 之間的一個整數。

Serial_number:包含所求秒數的時間。

示例:

SECOND("15:36:25")等於 25。

SECOND("15:36:25", "HH:mm:ss")等於 25。

22. TIME

TIME(hour,minute,second):返回代表指定時間的小數。介於 0:00:00(12:00:00 A.M.)與 23:59:59(11:59:59 P.M.)之間的時間可返回 0 到 0.99999999 之間的對應數值。

TIME(19,43,24)等於 7:43 PM

Hour:介於 0 到 23 之間的數。

Minute:介於 0 到 59 之間的數。

Second:介於 0 到 59 之間的數。

示例:

TIME(14,40,0)等於 2:40 PM。

23. TODATE

TODATE():函數可以将各種日期形式的參數轉換爲日期類型。

它有三種參數的形式:

1)參數是一個日期型的參數,那麽直接将這個參數返回。

示例:

TODATE(DATE(2007,12,12))返回 2007-12-12 組成的日期。

2)參數是以從1970 年 1 月 1 日 0 時 0 分0 秒開始的毫秒數,返回對應的時間。

示例:

TODATE("1023542354746")返回 2002-6-8 21:19:14。

3)參數是日期格式的文本,那麽返回這個文本對應的日期。

示例:

TODATE("2007/10/15")返回 2007-10-15 組成的日期

TODATE("2007-6-8")返回 2007-6-8 組成的日期。

4)有兩個參數,第一個參數是一個日期格式的文本,第二個參數是用來解析日期的格式。

示例:

TODATE("1/15/07","MM/dd/yy")返回 2007-01-15 組成的日期.

注:此處的格式中月份必須大寫 MM,年份小寫:yy(不可以爲yyyy)。天份小寫:dd

24. TODAY

TODAY():是獲取當前的日期。

示例:

如果系統日期是 2011-06-20,則:

TODAY()等於 2011-06-20。

25. WEEKDAY

WEEKDAY(Serial_number):獲取日期并返回星期數。返回值爲介於0到6之間的某一整數,分别代表星期中的某一天(從星期日到星期六)。

Serial_number:輸入的日期。

注: FineReport 将日期保存爲系列數,一個系列數代表一個與之匹配的日期,以方便用戶對日期進行數值式計算。

在 1900 年日期系統中,FineReport 電子表格将 1900 年 1 月 1 日保存爲系列數 2,将 1900 年 1 月 2 日保存爲系列數 3,将 1900 年 1 月 3 日保存爲系列數4……依此類推。如在1900 年日期系統,1998 年 1 月 1 日存爲系列數 35796。

示例:

WEEKDAY("2005/9/10")等於 6(星期六)。

WEEKDAY("2005/9/11")等於 0(星期日)。

WEEKDAY(35796)等於 4(星期四)。

26. WEEK

1)函數介紹

WEEK(serial_num):返回一個代表一年中的第幾周的數字。其中Serial_num爲輸入的日期。

2)函數邏輯

年内第一周開始於第一個星期日所對應的日期,此外周的範圍爲星期日到星期六。

Snag_1fbb8e7e.png

FineReport 将日期保存爲系列數,一個系列數代表一個與之匹配的日期,以方便用戶對日期進行數值式計算。

在 1900 年日期系統中,FineReport 将 1900/1/1 保存爲系列數2,将 1900/1/2 保存爲系列數 3,……依此類推。如 1998/1/1 存爲系列數 35796。

3)示例:

  • WEEK("2005/1/1") 等於 52(本年第一個星期日前的日期,都算作上一年最後一周的日期)

  • WEEK("2005/1/6") 等於 1(本年第一個星期日後的日期,從本年開始算起)

  • WEEK(35796) 等於 52(系列數對應到具體日期,然後轉化爲第幾周)

4)參數修改邏輯

  • WEEK(serial_num,"F1"):采用 Excel 的邏輯,把年内第一個星期日前的日期算作第一周

  • WEEK(serial_num,"F7") WEEK(serial_num):采用 FineReport 默認邏輯,年内第一個星期日前的日期算作上一年最後一周的日期,本年第一周開始於第一個星期日

例如:

  • WEEK("2019/1/5","F1") 等於 1

  • WEEK("2019/1/5","F7") 等於 52

  • WEEK("2019/1/6","F1") 等於 2

  • WEEK("2019/1/6","F7") 等於 1

27. WEEKDATE

WEEKDATE(year,month,weekOfMonth,dayOfWeek):返回指定年月的指定周的周幾的具體日期。

1)默認周開始於星期日時,此時系統中周的範圍爲星期日到星期六。

示例:

WEEKDATE(2009,10,2,1)返回的是 2009 年的 10 月的第二個周的第一天即星期天的日期,返回的是 2009-10-04;

最後一個參數 dayOfWeek爲-1 時,表示這個周的最後一天。

示例:

WEEKDATE(2009,12,1,-1)返回的是 2009 年的 12 月的第一個周的最後一天即星期六的日期,返回的是 2009-12-05。

2)當設置 周開始於星期一 時,此時系統中周的範圍爲星期一到星期日。

28. YEAR

YEAR(serial_number):返回日期中的年。Year是介於1900和9999之間的一個數。

Serial_number:含有所求的年的日期,參數爲空時默認爲當天日期。

注: FineReport 将日期保存爲系列數,一個系列數代表一個與之匹配的日期,以方便用戶對日期進行數值式計算。

在 1900 年日期系統中,FineReport 電子表格将 1900 年 1 月 1 日保存爲系列數 2,将 1900 年 1 月  2日保存爲系列數 3,将 1900 年 1 月 3 日保存爲系列數 4……依此類推。

如:在 1900 年日期系統,1998 年 1 月 1 日存爲系列數 35796。

示例:

YEAR("2000/1/1")等於 2000。

YEAR("2006/05/05")等於 2006。

YEAR("1997/04/20")等於 1997。

YEAR(35796)等於 1998。

29. YEARDELTA

YEARDELTA(date, delta):返回指定日期後delta年的日期。

示例:

YEARDELTA("2008-10-10",10)等於 2018-10-10。

30. LUNAR

LUNAR(year,day,month):返回當前日期對應的農曆時間。year,month,day:分别對應年月日。

示例:

如果需要查詢 2011 年 7 月 21 日對應的農曆時間,則:

LUNAR(2011,7,21)結果将顯示爲:辛卯年六月廿一。

LUNAR(2001,7,21)結果顯示:辛巳年六月初一 。

注:本公式支持的時間段爲 1900-2049 年。

附件列表


主題: 原簡體文檔
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

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

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

不再提示

10s後關閉

反饋已提交

網絡繁忙