帆软中的日期函数,当月第一天,当年第一天,当月最后一天等 您所在的位置:网站首页 利用函数返回当前月份最后一天 帆软中的日期函数,当月第一天,当年第一天,当月最后一天等

帆软中的日期函数,当月第一天,当年第一天,当月最后一天等

2024-07-09 04:26| 来源: 网络整理| 查看: 265

常用举例:

当年第一天:DATEINYEAR(TODAY(), 1) 当年最后一天:DATEINYEAR(TODAY(), -1) 当月第一天:DATEINMONTH(TODAY(),1) 当月最后一天:DATEINMONTH(TODAY(),-1) 上月最后一天:DATEINMONTH(TODAY(),1)-1 下月第一天:DATEINMONTH(TODAY(),-1)+1 当前日期的年份:year(today()) 当前日期的月份:month(today()) 当前日期的日:day(today()) 当前日期前一天:datedelta(today(),-1) 当前日期的上一月:monthdelta(today(),-1) 当前日期的上一年:yeardelta(today(),-1)

上面这些也不只一种写法。下面是所有日期相关函数的介绍

 

注意:可以在决策平台中设置以  周天  还是  周一  为一周的开始

 

1、获取时间:

获取当前年月日的日期:today()

获取当前年月日、时分秒的日期:now()

YEAR:(serial_number)返回日期中的年。Year是介于1900和9999之间的一个数。 MONTH:(serial_number)返回日期中的月。月是介于1和12之间的一个数。 week:(serial_number)返回日期中的当年第几周 DAY:(serial_number)返回日期中的日。DAY是介于1和31之间的一个数。 HOUR(serial_number)返回某一指定时间的小时数。其值是介于0与23之间的一个整数。 MINUTE(serial_number)返回某一指定时间的分钟数,其值是介于0与59之间的一个整数。 SECOND(serial_number)返回某一指定时间的秒数,其值是介于0与59之间的一个整数。

其中传入的参数可以是多种时间表达形式,以DAY为例:

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。

 

2、返回某年、季度、月、周第几天的日期

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。 DATEINQUARTER(date,number):函数返回在某一个季度当中第几天的日期。 示例: DATEINQUARTER("2009-05-05",20)等于2009-04-20。 DATEINMONTH(date,number):函数返回在某一个月当中第几天的日期。 示例: DATEINMONTH("2008-08-08",20)等于2008-08-20。 DATEINMONTH("2008-08-08",-1)等于2008-08-31。 DATEINWEEK(date,number):函数返回在某一个星期当中第几天的日期。 示例: dateInWeek("2008-08-28",2)等于2008-08-26。 dateInWeek("2008-08-28",-1)等于2008-08-31。如果最后一个参数为-1,返回该日期所在星期的最后一天。

3、返回某年、季度、月所包含的天数

DAYSOFYEAR(year):返回指定日期所在年包含的天数。(指定日期在1900年1月后) 示例: DAYSOFYEAR(2008)等于366,等价于DAYSOFYEAR("2008-01-01")。 DAYSOFQUARTER(date):返回指定日期所在季度包含的天数。(指定日期在1900年1月后) 示例: DAYSOFQUARTER("2009-02-01")等于90。 DAYSOFQUARTER("2009/05/05")等于91。 DAYSOFMONTH(date):返回指定日期所在月包含的天数。(指定日期在1900年1月后) 示例: DAYSOFMONTH("1900-02-01")等于28。 DAYSOFMONTH("2008/04/04")等于30。

4、返回指定日期增减N年、月、天后的日期

YEARDELTA(date,delta):返回指定日期后delta年的日期。 示例: YEARDELTA("2008-10-10",10)等于2018-10-10。 MONTHDELTA(date,delta):返回指定日期date后delta个月的日期。 示例: MONTHDELTA("2008-08-08",4)等于2008-12-08。 DATEDELTA(date,deltadays):返回指定日期后delta天的日期。deltaDays可以为正值,负值,零。 示例: DATEDELTA("2008-08-08",-10)等于2008-07-29。 DATEDELTA("2008-08-08",10)等于2008-08-18。

5、返回指定日期的时间差值

DAYVALUE(date):返回1900年1月1日至date日期所经历的天数。 示例: DAYVALUE("2008/08/08")等于39667。 DATETONUMBER(date):返回自1970年1月1日00:00:00至date日期所经过的毫秒数。 示例: DATETONUMBER("2008-08-08")等于1218124800000。 DATEDIF(start_date,end_date,unit):返回两个指定日期间的天数、月数或年数。 示例: DATEDIF("2001/2/28","2004/3/20","Y")等于3,即在2001年2月28日与2004年3月20日之间有3个整年。 DATEDIF("2001/2/28","2004/3/20","M")等于37,即在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天。 注释: Start_date:代表所指定时间段的初始日期。 End_date:代表所指定时间段的终止日期。 Unit:函数返回信息的类型。 若unit=“Y”,则DATEDIF返回指定时间段的年差数。 若unit=“M”,则DATEDIF返回指定时间段的月差数。 若unit=“D”,则DATEDIF返回指定时间段的日差数。 若unit=“MD”,则DATEDIF忽略年和月,返回指定时间段的日差数。 若unit=“YM”,则DATEDIF忽略年和日,返回指定时间段的月差数。 若unit=“YD”,则DATEDIF忽略年,返回指定时间段的日差数。 DATESUBDATE(date1,date2,op):返回两个日期之间的时间差。 示例: DATESUBDATE("2008-08-08","2008-06-06","h")等于1512。 注释: op表示返回的时间单位:"s",以秒为单位。"m",以分钟为单位。"h",以小时为单位。"d",以天为单位。"w",以周为单位。 DAYS360(start_date,end_date,method):按照一年360天的算法(每个月以30天计,一年共计12个月),返回两日期间相差的天数,这在会计计算中将会用到。如果财务系统是基于一年12个月,每月30天,可用此函数帮助计算支付款项。 示例: DAYS360("1998/1/30","1998/2/1")等于1 注释: 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。

6、周、星期相关函数

weekdate(year,month,weekOfMonth,dayOfWeek):返回指定年月的指定周的周几的具体日期。 示例: weekdate(2009,10,2,1)返回的是2009年的10月的第二个周的第一天即星期天的日期,返回的是2009-10-04 最后一个参数dayOfWeek为-1时,表示这个周的最后一天 示例: weekdate(2009,12,1,-1)返回的是2009年的12月的第一个周的最后一天即星期六的日期,返回的是2009-12-05 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(星期四)。

7、农历与英文时间表示法

LUNAR (year, month, day):返回当前日期对应的农历时间。 year,month,day:分别对应年月日。 示例: 如果需要查询2011年7月21日对应的农历时间,则只需输入LUNAR(2011,7,21)结果将显示为:辛卯年六月廿一 同样,如输入LUNAR(2001,7,21),则显示:辛巳年六月初一。 本公式支持的时间段为1900-2100年。 TIME(hour,minute,second):返回指定的日期和时间, 日期会随当天的日期改变。介于0:00:00(12:00:00A.M.)与23:59:59(11:59:59P.M.)之间的时间可返回0到0.99999999之间的对应数值。 Hour:介于0到23之间的数。 Minute:介于0到59之间的数。 Second:介于0到59之间的数。 示例: TIME(14,40,0)等于2:40PM。 TIME(19,43,24)等于7:43PM。

8、日期格式相关函数

DATE(year,month,day):返回一个表示某一特定日期的系列数。 Year:代表年,一般为四位数。 Month:代表月份。若month12,则函数从年的一月份开始往上累加。若month=0,则表示当年上一年的12月,若-1则表示上一年的11月,以此类推 例如:DATE(2000,25,2)等于2002年1月2日的系列数。 Day:代表日。若日期小于等于某指定月的天数,则函数将此参数值作为日。若日期大于某指定月的天数,则函数从指定月份的第一天开始往上累加。若day为0、-1与月份规则一致 例如:DATE(2000,3,35)等于2000-04-04 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日组成的日期。 特别的,"yyyyMMdd"是用来解析形如“20081230”之类的日期格式的。比如TODATE("20110830","yyyyMMdd")返回11年08月30日组成的日期5有三个参数,第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式,第三个参数为解析日期的语言,如:zh(中文),en(英文)。 示例:TODATE("星期一1/15/07","EEEMM/dd/yy","zh")返回07年1月15日组成的日期,使用“zh(中文)”才能够正常解析“星期一”这个字符串。注:如果EEE 和 MM/dd/yy 不一致, 以 MM/dd/yy 为主。 示例:TODATE("星期三1/15/07","EEEMM/dd/yy","zh")返回07年1月15日组成的日期,实际是星期一,而不是星期三。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有