历史版本4 :日期函数概述 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1、描述编辑

凡函数中以日期作为参数因子的,其中日期的形式都必须是yyyy/mm/dd或yyyy-MM-dd。而且必须用英文环境下双引号(" ")引用。

2、MONTH编辑

MONTH(serial_number):返回日期中的月,月是介于1和12之间的一个数。
Serial_number:含有所求的月的日期。
备注: FineBI将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。
在1900年日期系统中,FineBI电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3, 将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。
示例:
MONTH("2000/1/1")等于1;
MONTH("2006/05/05")等于5;
MONTH("1997/04/20")等于4;
MONTH("2000-1-1","yyyy-MM-dd")等于1;
MONTH("2006-05-05","yyyy-MM-dd")等于5;
MONTH("1997-04-20","yyyy-MM-dd")等于4;
MONTH(35796)等于1。

3、DAYSOFYEAR编辑

DAYSOFYEAR(year):返回某年包含的天数。
示例:
DAYSOFYEAR(2008)等于366,等价于:DAYSOFYEAR("2008-01-01")。

4、YEAR编辑

YEAR(serial_number):返回日期中的年。Year是介于1900和9999之间的一个数。
Serial_number:含有所求的年的日期。
备注: FineBI将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。
在1900年日期系统中,FineBI电子表格将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("2000-1-1","yyyy-MM-dd")等于2000;
YEAR("2006-05-05","yyyy-MM-dd")等于2006;
YEAR("1997-04-20","yyyy-MM-dd")等于1997;
YEAR(35796)等于1998。

5、DATEINWEEK编辑

DATEINWEEK(date, number):函数返回在某一个星期当中第几天的日期。
示例:
dateInWeek("2008-08-28", 2)等于2008-08-26;
dateInWeek("2008-08-28",-1)等于2008-08-31。如果最后一个参数为-1,返回该日期所在星期的最后一天。

6、MONTHDELTA编辑

MONTHDELTA(date,delta):返回指定日期date后delta个月的日期。
示例:
MONTHDELTA("2008-08-08", 4)等于2008-12-08。

7、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天。

8、DATEDELTA编辑

DATEDELTA(date, deltadays):返回一个日期date后deltadays的日期。deltaDays可以为正值,负值,零。
示例:
DATEDELTA("2008-08-08", -10)等于2008-07-29;
DATEDELTA("2008-08-08", 10)等于2008-08-18。

9、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)当设置周开始于星期一时,此时系统中周的范围为星期一到星期日。

10、DATEINMONTH编辑

DATEINMONTH(date, number):函数返回在某一个月当中第几天的日期。
示例:
DATEINMONTH("2008-08-08", 20)等于2008-08-20;
DATEINMONTH("2008-08-08",-1)等于2008-08-31。

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号。
备注:
FineBI将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。
在1900年日期系统中,FineB电子表格将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、TODATE编辑

TODATE()函数可以将各种日期形式的参数转换为日期类型。
它有三种参数的形式:
1. 参数是一个日期型的参数,那么直接将这个参数返回。
示例:
TODATE(DATE(2007,12,12))返回2007年12月12日组成的日期。
2. 参数是以从1970年1月1日0时0分0秒开始的毫秒数,返回对应的时间。
示例:
TODATE("1023542354746")返回2002年6月8日。
3. 参数是日期格式的文本,那么返回这个文本对应的日期。
示例:
TODATE("2007/10/15")返回2007年10月5日组成的日期。
TODATE("2007-6-8")返回2007年6月8日组成的日期。
4. 有两个参数,第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式。
示例:
TODATE("1/15/07","MM/dd/yy")返回07年1月15日组成的日期。
注意:此处的格式中月份必须大写MM,年份小写:yy(不可以为yyyy)。天份小写:dd。
特别的,"yyyyMMdd"是用来解析形如"20081230"之类的日期格式的。比如TODATE("20110830","yyyyMMdd")返回11年08月30日组成的日期。
5. 有三个参数,第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式,第三个参数为解析日期的语言,如:zh(中文),en(英文)。
示例:
TODATE("星期三 1/15/07","EEE mm/dd/yy","zh")返回07年1月15日组成的日期,使用“zh(中文)”才能够正常解析“星期三”这个字符串。

13、DAY编辑

DAY(serial_number):返回日期中的日。DAY是介于1和31之间的一个数。
Serial_number:含有所求的年的日期。
备注:FineBI将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。
在1900年日期系统中,FineBI电子表格将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("2000-1-1","yyyy-MM-dd")等于1;
DAY("2006-05-05","yyyy-MM-dd")等于5;
DAY("1997-04-20","yyyy-MM-dd")等于20;
DAY(35796)等于1。

14、LUNAR编辑

LUNAR(year,day,month): 返回当前日期对应的农历时间。year,month,day:分别对应年月日。
示例:
如果需要查询2011年7月21日对应的农历时间,则:
LUNAR(2011,7,21)结果将显示为:辛卯年六月廿一。

LUNAR(2001,7,21)结果显示:辛巳年六月初一 。本公式支持的时间段为1900-2100年。

15、MINUTE编辑

MINUTE(serial_number):返回某一指定时间的分钟数,其值是介于0与59之间的一个整数。
Serial_number:包含所求分钟数的时间。
示例:
MINUTE("15:36:25")等于36;
MINUTE("15:36:25","HH:mm:ss")等于36。

16、DATESUBDATE编辑

DATESUBDATE(date1,date2,op):返回两个日期之间的时间差。
op表示返回的时间单位:"s",以秒为单位;"m",以分钟为单位;"h",以小时为单位;"d",以天为单位;"w",以周为单位。
示例:
DATESUBDATE("2008-08-08", "2008-06-06","h")等于1512。

17、DAYSOFMONTH编辑

DAYSOFMONTH(date):返回从1900年1月后某年某月包含的天数。
示例:
DAYSOFMONTH("1900-02-01")等于28;
DAYSOFMONTH("2008/04/04")等于30。

18、DATEINQUARTER编辑

DATEINQUARTER(date, number):函数返回在某一个季度当中第几天的日期。
示例:
DATEINQUARTER("2009-05-05", 20)等于2009-04-20。

19、DAYVALUE编辑

DAYVALUE(date):返回1900年至date日期所经历的天数。
示例:
DAYVALUE("2008/08/08")等于39668。

20、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-09-19;
DATE(1211, 12, 1)等于1211-12-01。

21、NOW编辑

NOW():获取当前时间。
示例:
如果系统时间是2012年5月12日 15点18分38秒, 则NOW()等于2011-05-12 15:18:36。

22、HOUR编辑

HOUR(serial_number):返回某一指定时间的小时数。函数指定HOUR为0(0:00)到23(23:00)之间的一个整数。
Serial_number:包含所求小时的时间。
示例:
HOUR("11:32:40")等于11;
HOUR("11:32:40","HH:mm:ss")等于11。

23、YEARDELTA编辑

YEARDELTA(date, delta):返回指定日期后delta年的日期。
示例:
YEARDELTA("2008-10-10",10)等于2018-10-10。

24、DATEINYEAR编辑

DATEINYEAR(date, number):函数返回在某一年当中第几天的日期。
示例:
DATEINYEAR(2008,100)等于2008-04-09,等价于DATEINYEAR("2008-08-08",100),也返回2008-04-09。
DATEINYEAR(2008,-1)等于2008-12-31,等价于DATEINYEAR("2008-08-08",-1),也返回2008-12-31。

25、DAYSOFQUARTER编辑

DAYSOFQUARTER(date):返回从1900年1月后某年某季度的天数。
示例:
DAYSOFQUARTER("2009-02-01")等于90;
DAYSOFQUARTER("2009/05/05")等于91。

26、WEEK编辑

WEEK(serial_num):返回一个代表一年中的第几周的数字。
1)默认周开始于星期日时,此时系统中周的范围为星期日到星期六。
Serial_num:表示输入的日期。
备注: FineBI将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。
在1900年日期系统中,FineBI电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。
示例:
WEEK("2010/1/1")等于52;
WEEK("2010/1/6")等于1;
WEEK(35796)等于1。
2010-01-01是星期五,那么2010-01-01就不能算在2010年的第一个星期里面,只算在2009年的最后一个星期里。
2010年的第一个星期的第一天应该是2010-01-03,因为2010-01-03是2010年的第一个星期日。

2)当设置周开始于星期一时,此时系统中周的范围为星期一到星期日。
2010年的第一个星期的第一天应该是2010-01-04,因为2010-01-04是2010年的第一个星期一。

27、WEEKDAY编辑

WEEKDAY(Serial_number):获取日期并返回星期数。返回值为介于0到6之间的某一整数,分别代表星期中的某一天(从星期日到星期六)。
Serial_number:输入的日期。
备注: FineBI将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。
在1900年日期系统中,FineBI电子表格将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(星期四)。

28、TODAY编辑

TODAY():是获取当前的日期。
示例:
如果系统日期是2005年9月10日,则TODAY()等于2005-9-10。

29、TIME编辑

TIME(hour,minute,second):返回代表指定时间的小数。介于0:00:00(12:00:00 A.M.)与23:59:59(11:59:59 P.M.)之间的时间可返回0到0.99999999之间的对应数值。
Hour:介于0到23之间的数。
Minute:介于0到59之间的数。
Second:介于0到59之间的数。
示例:
TIME(14,40,0)等于2:40 PM;
TIME(19,43,24)等于7:43 PM。

30、SECOND编辑

SECOND(serial_number):返回某一指定时间的秒数,其值是介于0与59之间的一个整数。
Serial_number:包含所求秒数的时间。
示例:
SECOND("15:36:25")等于25;
SECOND("15:36:25", "HH:mm:ss")等于25。