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

一、函数用途

当我们想从一个日期数据中得到当日所在周的起始和结尾日期时,就需要用到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单元格的日期值,查看报表的展现结果。