【Access文章】日期常用函数详解
时 间:2015-08-20 09:46:13
作 者:杨雪 ID:42182 城市:南京
摘 要: weekday 函数,WeekdayName函数(VBA),DateSerial 函数,DatePart函数 ,DateAdd 函数 用法:
各种函数用法参考示例:【精品推荐】日期时间函数汇总与示例[Access软件网]
http://www.accessoft.com/article-show.asp?id=5562
正 文:
weekday函数
第一,weekday函数用法介绍
weekday函数主要功能:给出指定日期的对应的星期数。
weekday函数使用格式:WEEKDAY(serial_number‚return_type)
weekday函数参数说明:
serial_number代表指定的日期或引用含有日期的单元格;
return_type代表星期的表示方式
当Sunday(星期日)为1、Saturday(星期六)为7时,该参数为1;
当Monday(星期一)为1、Sunday(星期日)为7时,该参数为2(这种情况符合中国人的习惯)
当Monday(星期一)为0、Sunday(星期日)为6时,该参数为3。
access示例:
文本框行来源里写:
=Weekday(Date(),2)
描述
返回一个字符串,表示一星期中的某天。
语法
WeekdayName(weekday, abbreviate, firstdayofweek)
WeekdayName函数语法有如下部分:
weekday 必需的。数字值,表示一星期中的某天。该数字值要依赖于firstdayofweek设置中的设置值来决定。
abbreviate 可选的。Boolean值,表示星期的名称是否被缩写。如果忽略该值,缺省值为False,表明星期的名称不能被缩写。
firstdayofweek 可选的。数字值,表示一星期中第一天。关于其值,请参阅“设置值”部分。
设置值
firstdayofweek参数值如下:
access示例:
=WeekdayName(Weekday(Date()))
DateSerial函数
为了指定某个日期,如 1991 年 12 月 31 日,DateSerial 函数中的每个参数的取值范围应该是可接受的;即,日的取值范围应在 1-31 之间,而月的取值范围应在 1-12 之间。但是,当一个数值表达式表示某日之前或其后的年、月、日数时,也可以为每个使用这个数值表达式的参数指定相对日期。
DateSerial函数 返回
返回包含指定的年、月、日的 Variant (Date)。
语法
DateSerial(year,month, day)
DateSerial 函数语法有下列的命名参数:
部分 描述
year 必要;Integer。从 100 到 9999 间的整数,或一数值表达式。
month 必要;Integer。任何数值表达式。
day 必要;Integer。任何数值表达式。
说明
以下示例中使用了数值表达式代替绝对日期。这里,DateSerial 函数返回 1990 年 8 月 1 日的 十 年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 之前的日期;换句话说,就是 1980 年 5 月 31 日。
DateSerial(1990- 10, 8 - 2, 1 - 1)
year参数的数值若介于 0 与 29 之间,则将其解释为 2000–2029年,若介于 30 和 99 之间则解释为1930–1999年。而对所有其它 year 参数,则请用四位数值表示(如 1800)。
当任何一个参数的取值超出可接受的范围时,它会适时进位到下一个较大的时间单位。例如,如果指定了 35 天,则这个天数被解释成一个月加上多出来的日数,多出来的日数将由其年份与月份来决定。如果一个参数值超出 -32,768 到 32,767 的范围,就会导致错误发生。
access示例:
=DateSerial(Year(Date()),Month(Date())+1,Day(Date()))-Date()
DatePart函数
返回一个包含已知日期的指定时间部的 Variant (Integer)。
语法
DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
DatePart 函数语法中有下列命名参数:
interval 必要。字符串表达式,是要返回的时间间隔。
date 必要。要计算的 Variant (Date) 值。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
设置 interval 参数的设定值如下:
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
firstdayofweek 参数的设定值如下:
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数的设定值如下:
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。
vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek 3 从第一个无跨年度的星期开始。
说明
DatePart 函数可以用来计算日期并返回指定的时间间隔。
例如,可以使用DatePart 计算某个日期是星期几或目前为几点钟。
firstdayofweek 参数会影响使用时间间隔号 “W” 或 “WW” 计算的结果。
如果 date 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date 用双引号 (" ") 括起来,且年份略而不提,则在每次计算 date 表达式时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。
DateAdd函数
返回变量型(日期型),其中包含已添加了指定时间间隔的日期。
语法
DateAdd(interval, number, date) DateAdd 函数的语法包含以下参数:
interval 必选。字符串表达式,表示要添加的时间间隔。
number 必选。数值表达式,标识要添加的间隔数。它可以为正(以获 取将来的日期)也可以为负(以获取过去的日期)。
date 必选。变量型(日期型)或文字,表示已添加间隔的日期。 设置
interval 包含以下设置: 设置 说明
yyyy 年
q 季度
m 月
y 某年的某一天
d 天
w 工作日
ww 周
h 时
n 分
s 秒
注解
可以使用 DateAdd 函数向日期添加指定的时间间隔或从日期减去指定的 时间间隔。
例如,可以使用 DateAdd 计算距离今天 30 天的日期或距离现在 45 分钟的时间。
若要向 date 添加天数,可以使用“某年的某一天”("y")、“日”("d") 或 “工作日”("w")。
DateAdd 函数将不会返回无效日期。
以下示例向 1 月 31 日添加了一个 月:
DateAdd("m", 1, "31-Jan-95")
在本例中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。
如果 date 为 96 年 1 月 31 日,则该函数返回 96 年 2 月 29 日,因为 1996 年为闰年。
如果计算后的日期在 100 年前(即减去的年数大于 date 中的年数),则 会出错。
如果 number 不是Long 类型的值,则会在求值前将其四舍五入为最近的整 数。
注释 DateAdd 的返回值的格式由“控制面板”设置决定,而不是由在 date参数中传递的格式决定。
注释 对于 date,如果 Calendar 属性设置为公历,则提供的日期必须为公历。如果日历为回历,则提供的日期必须为回历。如果月份值为名称,则名称必须与当前 Calendar 属性设置一致。若要最小化月份名称与当前 Calendar 属性设置冲突的可能性,请输入数字的月份值(短日期格式)。
示例
注释 以下示例演示了此功能在 Visual Basic for Applications (VBA) 模 块中的使用。有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择 “开发人员参考”,然后在搜索框中输入一个或多个词条。 以下示例将一个日期作为输入,并使用 DateAdd 函数显示将来指定月数后的相应日期。
Dim FirstDate As Date ' Declare variables.
Dim IntervalType As String
Dim Number As Integer Dim Msg
IntervalType = "m" ' "m" specifies months as interval.
FirstDate = InputBox("Enter a date")
Number = InputBox("Enter number of months to add")
Msg = "New date: " & _
DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg
其它示例:
1、三个月前的今天:=DateAdd("m",-3,Date())
2、三年前的今天:=DateAdd("yyyy",-3,Date())
3、指定日期三年前的日期:=DateAdd("yyyy",-3,[日期])
4、SQL 中使用:
参考示例连接:http://www.accessoft.com/article-show.asp?id=5562
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)