一、函数用途
当我们想从一个日期数据中得到当日所在周的起始和结尾日期时,就需要用到weekbegin()和weekend()函数。
如上一章“动态参数表达式”一节的报表例子中,定义参数arg1的数据类型为日期型,参数arg2和arg3的参数类型为“动态参数”,arg2的值填写weekbegin(arg1),arg3的值填写weekend(arg1)。
这样只输入一个日期,就可以查询出该日期所在周的订货信息表。随便为arg1输入一个日期,如1996-07-08,就可以获得报表:
二、函数说明
1. weekbegin()
函数说明:获得指定日期所在星期的星期天,这里认定星期天为一周的开始。
语法: weekbegin(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串, 如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或 HH:mm:ss
返回值:日期型
示例:
例1:weekbegin(datetime2("19800227","yyyyMMdd")) 返回 1980-02-24。
例2:weekbegin("1972-11-08 10:20:30") 返回 1972-11-05。
例3:weekbegin(dateTime("2006-01-15 13:20:45")) 返回 2006-01-15。
2. weekend()
函数说明:获得指定日期所在星期的星期六,这里认定星期六为一周的结束。
语法: weekend(dateExp)
参数说明:
dateExp 日期或标准日期时间格式的字符串, 如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或 HH:mm:ss
返回值:日期型
示例:
例1:weekend(datetime2("19800227","yyyyMMdd")) 返回 1980-03-01。
例2:weekend("1972-11-08 10:20:30") 返回 1972-11-11。
例3:weekend(dateTime("2006-01-15 13:20:45")) 返回 2006-01-21。
三、类似的时间日期函数
与weekbegin()和weekend()函数类似的时间日期函数还有monthbegin(),monthend(),quaterbegin(),quaterend(),它们都是取得指定日期所在时段的首日或末日。
monthbegin()函数取得指定日期所在月的月首。
monthend()函数取得指定日期所在月的月末。
quaterbegin()函数取得指定日期所在季度的首日。
quaterend()函数取得指定日期所在季度的末日。
课后练习:
1、写出下列函数说明对应的函数:
(1)取得指定日期所在月的月末。
(2)取得指定日期所在季度的首日。
(3)获得指定日期所在星期的星期六,这里认定星期六为一周的结束。
(4)取得指定日期所在季度的末日。
(5)取得指定日期所在月的月首。
(6)获得指定日期所在星期的星期天,这里认定星期天为一周的开始。
2、下列函数的返回值分别是什么?
(1)quaterend("1972-11-08")
(2)weekbegin("2012-11-25 23:28:15")
(3)weekend("1987-09-12 16:46:53")
(4)quaterbegin("1965-03-08")
(5)monthend("1998-12-23 03:27:05")
(6)weekbegin("2001-01-15")
(7)monthbegin("1937-06-08")
(8)quaterend("1966-05-16 21:07:46")
3、制作如下图所示的报表,查看报表的展现结果。
4、在上题的报表中,改变B1单元格的日期值,查看报表的展现结果。