year()和month()函数| 快逸报表工具
V5教程-表达式与常用函数

一、函数用途

对于日期数据(如生日、订购日期、入职时间等),如果我们想把其年份和月份单提出来,就需要用到year()和month()函数。

比如下面这个多层交叉报表“销售额统计表1”,分别以订购年份和月份为纵向扩展的左表头:

其中,

A3单元格表达式:=demo_duoyuan1.group(year(订购日期),false)+"年"

C3单元格表达式:=demo_duoyuan1.group(month(订购日期),false)+"月"

预览结果如下:

二、函数说明

1. year()

函数说明:从日期型数据中获得年信息。

语法: year(dateExp)

参数说明:

dateExp 日期或标准日期时间格式的字符串,如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或 HH:mm:ss

返回值:整数

示例:

例1:year(datetime2("19800227","yyyyMMdd")) 返回1980。

例2:year("1972-11-08 10:20:30") 返回1972。

例3:year(dateTime("2006-01-15 13:20:45")) 返回2006。

2. month()

函数说明:取得指定日期所在的月份。

语法: month(dateExp)

参数说明:

dateExp 日期或标准日期格式的字符串,如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或 HH:mm:ss

返回值:整数

示例:

例1:month(datetime2("19800227","yyyyMMdd")) 返回2。

例2:month("1972-11-08 10:20:30") 返回11。

例3:month(dateTime("2006-01-15 13:20:30")) 返回1。

三、类似的时间日期函数

与year()和month()函数类似的时间日期函数还有day(),dayName(),hour(),minute(),second(),它们都是从日期数据中获取某种时间信息。

 day()函数从日期型数据中获得该日在本月中是几号。

dayName()函数从日期型数据中获得该日是星期几。

hour()函数从日期时间型数据中,获得当前时间位于一天中的第几个小时。

minute()函数从日期时间型数据中,获得分钟的信息。

second()函数从日期时间型数据中,获得秒信息。

这些函数的用法与year()和month()函数类似,我们就不在这里具体介绍了,大家可以在设计报表时尝试使用。

课后练习:

1、写出下列函数说明对应的函数:

(1)取得指定日期所在的月份。

(2)从日期时间型数据中,获得秒信息。

(3)从日期型数据中获得该日在本月中是几号。

(4)获得系统此刻的日期时间。

(5)从日期型数据中获得年信息。

(6)从日期时间型数据中,获得分钟的信息。

(7)从日期型数据中获得该日是星期几。

(8)从日期时间型数据中,获得当前时间位于一天中的第几个小时。

2、下列函数的返回值分别是什么?

(1)day("2006-01-15 13:20:30")

(2)hour("1983-12-15 11:35:25")

(3)year("1983-11-08")

(4)month("2009-11-25 13:20:30")

(5)dayName("1972-11-08 10:20:30")

(6)minute("1970-05-28 20:19:32")

(7)second("2011-06-19 03:10:45")

(8)dayName("1979-10-18")

3、制作如下图所示的报表,设置不同的参数值,查看报表的展现结果。

4、制作如下图所示的报表,在不同时间查看报表的展现结果。