Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

【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函数(VBA)         


描述

返回一个字符串,表示一星期中的某天。

语法

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源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助