FineReport中日期时间函数使用总结
说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。
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日.
DATEDELTA
DATEDELTA(date,deltadays):返回一个日期——date后deltadays的日期。
deltaDays可以为正值,负值,零。
示例:
DATEDELTA("2008-08-08",-10)等于2008-07-29。
DATEDELTA("2008-08-08",10)等于2008-08-18。
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天。
DATEINMONTH
DATEINMONTH(date,number):函数返回在某一个月当中第几天的日期。
示例:
DATEINMONTH("2008-08-08",20)等于2008-08-20。
DATEINQUARTER
DATEINQUARTER(date,number):函数返回在某一个季度当中第几天的日期。
示例:
DATEINQUARTER("2009-05-05", 20)等于2009-04-20。
DATEINWEEK
DATEINWEEK(date,number):函数返回在某一个星期当中第几天的日期。
示例:
dateInWeek("2008-08-28",2)等于2008-08-26。
DATEINYEAR
DATEINYEAR(date,number):函数返回在某一年当中第几天的日期。
示例:
dateInYEAR("2008/12/03",300)等于2008-10-26。
DATESUBDATE
DATESUBDATE(date1,date2, op):返回两个日期之间的时间差。
op表示返回的时间单位:
"s",以秒为单位。
"m",以分钟为单位。
"h",以小时为单位。
"d",以天为单位。
"w",以周为单位。
示例:
DATESUBDATE("2008-08-08","2008-06-06","h")等于1512。
DATETONUMBER
DATETONUMBER(date):返回自 1970 年 1月 1日 00:00:00 GMT经过的毫秒数。
示例:
DATETONUMBER("2008-08-08")等于1218124800000。
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。
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.
DAYSOFMONTH
DAYSOFMONTH(date):返回从1900年1月后某年某月包含的天数。 示例:
DAYSOFMONTH("1900-02-01")等于28。
DAYSOFMONTH("2008/04/04")等于30。
DAYSOFQUARTER
DAYSOFQUARTER(date):返回从1900年1月后某年某季度的天数。
示例:
DAYSOFQUARTER("2009-02-01")等于90。
DAYSOFQUARTER("2009/05/05")等于91。
DAYSOFYEAR
DAYSOFYEAR(year):返回1900年以后某年包含的天数。
示例:
DAYSOFYEAR(2008)等于365,等价于DAYSOFYEAR("2008-01-01")。
DATEVALUE
DATEVALUE(date_text):返回代表date_text的一个系列数。此函数可用来把一个文本形式的日期转化为一个系列数。
Date_text:是在电子表格日期格式中代表日期的文本格式。例如“2000/2/28”
备注:
FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在1900年
日期系统中,永中Office电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存
为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。
示例:
DATEVALUE("2000/1/1")等于36526。
HOUR
HOUR(serial_number):返回某一指定时间的小时数。函数指定HOUR为0(0:00)到23(23:00)之间的一个整数。
Serial_number:包含所求小时的时间。
示例:
HOUR("11:32:40")等于11。
MINUTE
MINUTE(serial_number):返回某一指定时间的分钟数,其值是介于0与59之间的一个整数。
Serial_number:包含所求分钟数的时间。
示例:
MINUTE("15:36:25")等于36。
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。
MONTHDELTA
MONTHDELTA(date,delta):返回指定日期date后delta个月的日期。
示例:
MONTHDELTA("2008-08-08",4)等于2008-12-08。
NOW
NOW():获取当前时间。
示例:
如果系统时间是15点18分38秒
则NOW()等于15:18:36。
SECOND
SECOND(serial_number):返回某一指定时间的秒数,其值是介于0与59之间的一个整数。
Serial_number:包含所求秒数的时间。
示例:
SECOND("15:36:25")等于25。
SECOND("15:36:25","HH:mm:ss")等于25。
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。
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。
TODAY
TODAY():获取当前日期。
示例:
如果系统日期是2005年9月10日
则TODAY()等于2005/9/10。
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(星期四)。
WEEKNUM
WEEKNUM(serial_num):返回一个代表一年中的第几周的数字。
Serial_num:表示输入的日期。
备注:
FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。
在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,
将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。
示例:
WEEKNUM("2005/1/1")等于1。
WEEKNUM("2005/1/6")等于2。
WEEKNUM(35796)等于1。
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。
YEARDELTA
YEARDELTA(date,delta):返回指定日期后delta年的日期。
示例:
YEARDELTA("2008-10-10",10)等于2018-10-10。
参考资料:https://blog.csdn.net/yuanziok/article/details/44413973
FineReport中日期时间函数使用总结的更多相关文章
- PHP中日期时间函数date()用法总结
date()是我们常用的一个日期时间函数,下面我来总结一下关于date()函数的各种形式的用法,有需要学习的朋友可参考. 格式化日期date() 函数的第一个参数规定了如何格式化日期/时间.它使用字母 ...
- SAP中日期时间函数总结
1.获得最后一天CALL FUNCTION 'FIMA_DATE_CREATE' EXPORTING I_DATE = I_DATE "输入 ...
- SQL中的日期时间函数
之所以把日期时间函数单独拿出来回顾一下,是因为这一部分的内容比较独立,C#中也有类似的日期时间函数,趁着想得起来,写个标题先.
- 【SQL】MySQL内置函数中的字符串函数和日期时间函数
字符串函数 --拼接字符串组成新的字符串 Select concat(‘A’,’B’); --返回字符串长度 Select length(“CAT”) --返回子字符串在字符串中首次出现的位置,没有返 ...
- Oracle日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...
- [转]JDBC中日期时间的处理技巧
Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...
- ORACLE 常用函数 日期/时间函数
---------------------------------------------日期/时间函数----------------------------------------------- ...
- MySQL日期时间函数大全(转)
MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...
- Mysql学习笔记(五)数学与日期时间函数
学习内容: 1.数学函数 2.日期时间函数 这些函数都是很常用的函数...在这里进行简单的介绍... 数学函数: mysql); //取绝对值函数 这个函数可安全地使用于 BIGINT 值. mysq ...
随机推荐
- 清除电脑缓存的bat文件
电脑在使用了之后,会产生垃圾缓存,若不及时清理会降低电脑的运行速度. 1.步骤: 2.新建一个记事本文件,命名“系统清理”;(或其他名字) 3.原封不动复制下面的文字到该记事本中 @echo off ...
- java单链表反转(花了半个多小时的作品)
欢迎光临............... 首先我们要搞清楚链表是啥玩意儿?先看看定义: 讲链表之前我们先说说Java内存的分配情况:我们new对象的时候,会在java堆中为对象分配内存,当我们调用方法的 ...
- Jmeter初步
Jmeter 3. 去掉没有必要的结果记录 对于一些不必要的日志信息可以暂时不要记录. 例如:结果树. 当然可以勾选记录那些失败的日志. 聚合报告中,点击 configure,根据需求设置自己想要保 ...
- centos7-- sbt的安装使用
sbt是一款类似于maven的构建工具 安装sbt curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo mv bintray- ...
- JS的string操作
1. charAt();如果想获取字符编码,则:charCodeAt(); var stringValue ="hello world"; alert(stringValue.ch ...
- C# 换行
要让一个Windows Form的TextBox显示多行文本就得把它的Multiline属性设置为true. 要让TextBox里面的文本换行大家往往会想到直接在要换行的地方加个转义的换行符&quo ...
- 一码阻塞,万码等待:ASP.NET Core 同步方法调用异步方法“死锁”的真相
在我们 2015 年开始的从 .NET Framework 向 .NET Core 迁移的工程中,遇到的最大的坑就是标题中所说的--同步方法中调用异步方法发生"死锁".虽然在 .N ...
- 2018-2019-2 网络对抗技术 20165225 Exp6 信息搜集与漏洞扫描
2018-2019-2 网络对抗技术 20165225 Exp6 信息搜集与漏洞扫描 实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.O ...
- 树状数组-逆序对-HDU6318
Swaps and Inversions Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- CSAPP:第一章学习笔记:斗之气1段
一.信息就是位+上下文:系统中的所有信息(包括磁盘文件.内存中的程序.网络上传送的数据),都是由一串比特表示,根据上下文对这些比特表示进行翻译. 二.C程序编译过程 1.源码结构 // test.c ...