做报表常常用到日期函数,对数据进行汇总,现对常用日期的函数进行汇总:
当前时间:
now()
返回值类型为日期,yyyy-MM-dd hh:mm:ss
当天日期:TODAY()
当前月份:MONTH(today())
当月第一天:format(today(),"yyyy-MM-01")
dateinmonth(today(),1)
当月最后一天:CONCATENATE(format(today(),"yyyy-MM"),"-",DAYSOFMONTH(today()))
dateinmonth(today(),-1)
上月第一天:
format(MONTHDELTA(today(),-1),"yyyy-MM-01")
上月最后一天:CONCATENATE(format(MONTHDELTA(today(),-1),"yyyy-MM"),"-",DAYSOFMONTH(today()))
上个月当前日期:MONTHDELTA(today(),-1),还有一种写法:
date(year(today()),MONTH(today())-1,day(today()))
上上月:date(year(today()),MONTH(today())-2,day(today()))
去年同期:YEARDELTA(today(),-1)
去年同期上月:date(year(today())-1,MONTH(today())-1,day(today()))
阴历转换为农历:lunar(year,day,month)
1. 日期型数据格式yyyy-MM-dd
2. 日期格式化:todate()或format()
可以使用todate()函数将任何日期形式的数据转化为日期型,或者使用format()函数可以转化成任何日期形式的数据。
1)将日期格式的字符串转化成日期型
todate()可以将任何日期形式的数据转化成日期型即:yyyy-MM-dd型数据。
在单元格中输入=todate("2011/11/11"),返回值为2011-11-11。
在单元格中输入=todate("2/15/11","MM/dd/yy"),返回值为2011-02-15。
2)将日期型数据转化成其他格式的日期形式
format()可以将日期型数据转化成其他形式的数据。
在单元格中输入=format("2/15/2011","dd/MM/yyyy"),返回值为15/02/2011。
在单元格中输入=format("2/15/2011","yyyy-MM-dd"),返回值为2011-02-15。
3. 转化日期
DATE(year,month,day): 返回一个表示某一特定日期的系列数。
注:year,month,day若为小数将自动去掉小数取整,如:2001.5返回值为2001,2001.1返回值为2001。下面只讨论整数情况。
Year:代表年。
若为正整数不变,若为0或负整数,则取绝对值+1。如:year=-5,则year返回值为6,即(|-5|+1)。
Month:代表月份。
若month为1至12的整数,则函数把参数值作为月。
若month>12,则函数从年的一月份开始往上累加。如: DATE(2000,25,2)返回值为2002-01-02。
若month=<0,则函数从上年的12月份开始往减去相应的月数。如:DATE(2000,0,2)返回值为1999-12-02;DATE(2000,-1,2)返回值为1999-11-02。
注:日期同理,若超过最大天数,会从月的一号开始向上累加;小于月初天数则从上月末减去相应的月数。如:DATE(2000,3,0)返回值为2000年2月月末,即2000-02-29。
Day:代表日。
若日期小于等于某指定月的天数,则函数将此参数值作为日。
若日期大于某指定月的天数,则函数从指定月份的第一天开始往上累加。若日期大于两个或多个月的总天数,则函数把减去两个月或多个月的余数加到第三或第四个月上,依此类推。例如:DATE(2000,3,35)返回值为2000-04-04。
若需要处理公式中日期的一部分,如年或月等,则可用此公式。
若年,月和日是函数而不是函数中的常量,则此公式最能体现其作用。
DATE(1978, 9, 19) 返回值为 1978-09-19。
DATE(1211, 12, 1) 返回值为 1211-12-01。
在单元格中输入:=date(2011,1,10),其返回值为2011-01-10。
若月份大于12将从年的一月份开始往上累加,如在单元格中输入:=date(2011,13,10),其返回值为2012-01-10。
4. 获取日期的年月日
分别通过year(),month(),day()这三个函数来获取日期的年月日。
获取年份:在单元格中输入=year("2011-11-11"),返回值为2011。
获取月份:在单元格中输入=month("2011-11-11"),返回值为11。
获取日期:在单元格中输入=day("2011-11-11"),返回值为11。
注:若year(),month(),day()对应的年\月\日带有小数,将返回当前年或月或日,相当于year(today()),month(today()),day(today())。
5. 日期的加减
可以通过datedelta(),monthdelta(),yeardelta()这三个函数来实现对日期的加减。
日期的加减:在单元格中输入=datedelta(today(),-1),返回当前日期前一天的日期,若系统日期是2011-11-11,则返回值为2011-11-10。
注:公式中的-1表示减一天若是正数则表示加相应的天数。
月份的加减:在单元格中输入=monthdelta(today(),-1),返回当前日期上一个月的日期,若系统时间是2011-11-11,则返回值为2011-10-11。
年份的加减:在单元格中输入=yeardelta(today(),-1),返回当前日期上一年的日期,若系统日期是2011-11-11,则返回值为2010-11-11。
获取某月的第几天
6. 可以通过dateinmonth(date, number)来获取某月的第几天。
http://help.finereport.com/doc-view-876.html
7. 计算两个日期间相差的天数:DATEDIF(A1,B1,"D")
说明:凡函数中以
日期
作为参数因子的,其中
日期
的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。DATEDATE(year,month,day):返回一个表示某一特定
日期
的系列数。Year:代表年,可为一到四位数。Month:代表月份。若1<=month<= 12,则函数把参数值作为月。若month>12,则函数从年的一月份开始往上累加。例如: DATE(2...
例如:PIVOT(“sales”, “customer_city”, “product_name”, “sales_amount”, “SUM”),表示根据“customer_city”和“product_name”两个字段透视“sales”数据集,并对“sales_amount”字段进行求和操作。例如:DECODE(sales, 100, “A”, 200, “B”, “C”),表示如果销售额等于100,则返回“A”,等于200返回“B”,否则返回“C”。AGGREGATE:用于将集合中的数据重新计算。
Fine
Report
设计器有自动的消息推送功能,可
设置
报表定时推送和常规的日报周报推送。官方有自己的消息推送的接口,不过有些用户旺旺希望自己开发,符合自己需求的推送界面。
下面这个方案就从逻辑层面简单阐述一个通讯类应该怎么实现。
1. 转化
日期
通过date(year,month,day)进行
日期
转换在单元格中输入公式=date(2020,1,10)返回2020-01-102.获取当前
日期
today(),在单元格输入,可以获取当前系统
日期
如2020-01-103. 当前时间(时分秒)now(),获取当前系统时间单元格输入=now(),返回2020-01-20 13:52:544.获取
日期
的年,月,日=year("2011-1...
constructor() {
// 列举Week
this.weekday = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
1)‘时间间隔’是一个下拉框,通过取‘时间间隔’的值,切换‘数据库查询’的数据源,并使用‘关联数据集’关联在一起。
2)数据库查询中,不同的时间间隔使用不同的
日期
函数,对时间进行处理。
3)对处理后的时间分组,即可得到
3.添加数据库查询
ds0:查询原始数据,不对
日期
处理。mo
在单元格中输入:=date(2011,1,10),其返回值为2011-01-10。
若月份大于12将从年的一月份开始往上累加,如在单元格中输入:=date(2011,13,10),其返回值为2012-01-10。
注:
日期
同理,若超过最大天数,会从月的一号开始向上累加。
当前
日期
(年月日)...
帆软:将字符串转换成
日期
格式
1. 单元格--属性--形态2.点击【类型
设置
】3.
设置
实际值和显示值4.显示值公式编写:5.效果:6.如图:
1. 单元格–属性–形态
2.点击【类型
设置
】
3.
设置
实际值和显示值
实际值:$$$
显示值:CONCATENATE(left($$$,4),"-",mid($$$,5,2),"-",right($$$,2))
4.显示值公式编写:
CONCATENATE(left($$$,4),"-",mid($$$,5,2),"-",right($$$,2))
通过date(year,month,day)进行转化
日期
。在单元格中输入:=date(2011,1,10),其返回值为2011-01-10。若月份大于12将从年的一月份开始往上累加,如在单元格中输入:=date(2011,13,10),其返回值为2012-01-10。注:
日期
同理,若超过最大天数,会从月的一号开始向上累加。2.2当前
日期
(年月日)today()即获取当前
日期
。在单元格中输入=tod...
比如有个模板数据集ds1,其字段为地区、销售员、销量,则可以用ds1.group(地区)获取ds1的地区字段,group是分组,从而容易知道select是列表,ds1.select(销售员)便是列表形式获取销售员字段,可以加上限制条件,比如ds1.select(销售员,销量=111)就是获取销售量为111的销售员集合。条件属性面板,上面是属性,下面是条件。1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3))。
最近碰到一个需求:给定了一个
日期
,要求当月最后一个工作日的
日期
。谷歌了半天,发现Excel自带了一个Workday函数刚好可以解决这个问题。那Workday函数是怎么用的呢?Workday的用法Workday的用途就是,给定一个
日期
,然后求这个
日期
指定数量工作日后(前)的
日期
。比如说,给定一个
日期
2007年3月8号,然后求3月8号之后第一个工作日的
日期
。具体的语法是:Workday(start_d...