您的位置:首页 > 其它

日期和时间函数DateAdd

2007-02-09 15:46 423 查看
【名称】
DateAdd
【类别】
日期和时间函数
【原形】
DateAdd(interval, number, date)
【参数】
  DateAdd 函数语法中有下列命名参数:
部分
【描述】
interval
必选。字符串表达式,是所要加上去的时间间隔。
number
必选。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date
必选。Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。
  对于函数DateAdd(时间单位,时间,D),其时间单位为一个字符串,表示所要加上的时间单位,其取值及含义如下表所示;时间参数可以是数值型表达式,表示所要加上的时间;其函数值可以是正数(得到未来的日期),也可以是负数(得到过去的日期)。如果T参数值包含小数点,则在计算时先四舍五入,再求函数值。
表 DateAdd函数中interval 参数(时间单位参数)取值及含义
时间单位
含义
时间单位
含义
yyyy

d

q

w
一周的日数
m

h

y
一年的日数
n

ww

s


【返回值】
返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔。
【异常/错误】

【描述】
返回参考日期D加上一段时间T之后的日期,时间单位为一个字符串,表示所要加上的时间的单位,其取值及含义如上表所示。例如:执行Print DateAdd(”m”,2,Date) 后的结果为:2003-6-23。执行Print DateAdd(”q”,1,Date) 后的结果为:2003-7-23
【示例】
本示例先取得一个日期,再用 DateAdd 函数显示未来数月后的日期。
Dim FirstDate As Date ' 声明变量。
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "m" ' "m"指定以“月份”作为间隔。
FirstDate = InputBox("Enter a date")
Number = InputBox("Enter number of months to add")
Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg
【备注】
可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用 DateAdd 来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。
为了对 date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”) 或“一周的日数” (”w”)。
DateAdd 函数将不返回有效日期。在以下实例中将 1 月31 日加上一个月:
DateAdd(m, 1, 31-Jan-95)
上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年 2 月 29 日。
如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。
如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。
注意???DateAdd 返回值的格式由 Control Panel设置决定,而不是由传递到date 参数的格式决定。
  日期和时间函数的函数名、函数值类型和函数功能如下表所示。针对表中的举例,设当前的系统时间为2003年4月23日下午两点18分30秒。
表 日期和时间函数
函数名
函数值类型
功能
举例
Now
Date
返回当前的系统日期和系统时间
执行Print Now后的结果为:2003-4-23 14:18:30
Date[$][()]
Date
返回当前的系统日期
执行Print Date后的结果为:2003-4-23
Time[$][()]
Date
返回当前的系统时间
执行Print Time后的结果为:14:18:30
DateSerial(年,月,日)
Integer
相对1899年12月30日(为0)返回一个天数值。其中的年、月、日参数为数值型表达式
执行Print DateSerial (99,06,01)- DateSerial (99,05,01) 后的结果为:31
DateValue(C)
Integer
相对1899年12月30日(为0)返回一个天数值,参数C为字符型表达式
执行Print DateValue (“99,06,01”)-DateValue(“99,05,01”) 后的结果为:31
Year(D)
Integer
返回日期D的年份,D可以是任何能够表示日期的数值、字符串表达式或它们的组合。其中,参数为天数时,函数值为相对于1899年12月30日后的指定天数的年号,其取值在1753到2078之间
执行Print Year(Date) 后的结果为:2003
执行Print Year(365) 后的结果为:1900
1899年12月30日后的365天是1900年
Month(D)
Integer
返回日期D的月份,函数值为1到12之间的整数
执行Print Month(Date) 后的结果为:8
Day(D)
Integer
返回日期D的日数,函数值为1到31之间的整数
执行Print Day(Date) 后的结果为:23
WeekDay(D)
Integer
返回日期D是星期几, 函数值与星期的对应关系如表2.6所示
执行Print WeekDay (Date)后的结果为:3
Hour(T)
Integer
返回时间参数中的小时数,函数值为0到23之间的整数
执行Print Hour(Now)后的结果为:14
Minute(T)
Integer
返回时间参数中的分钟数,函数值为0到59之间的整数
执行Print Minute(Now) 后的结果为:18
Second(T)
Integer
返回时间参数中的秒数,函数值为0到59之间的整数
执行PrintSecond(Now) 后的结果为:30
DateAdd(时间单位,时间,D)
Date
返回参考日期D加上一段时间T之后的日期,时间单位为一个字符串,表示所要加上的时间的单位,其取值及含义如表2.7所示
执行Print DateAdd(”m”,2,Date) 后的结果为:
2003-6-23。
执行Print DateAdd(”q”,1,Date) 后的结果为:
2003-7-23
DateDiff(时间单位,D1,D2)
Long
返回两个指定日期D1和D2之间的间隔时间。如果日期D1比D2早,则函数值为正数,否则函数值为负数。时间单位,同DateAdd函数的时间单位参数
执行Print DateDiff (“m”,#6/16/2002#,#6/16/2003#后的结果为:12
执行Print DateDiff (“m”,#6/16/2003#,#6/16/2002#后的结果为:-12
IsDate(参数)
Boolean
判断参数是否可以转换成日期,参数可以是任何类型的有效表达式。如果参数的值可转化成日期型数据,则函数值为Tree,否则函数值为False。在Microsoft Windows中,其范围为公元100年1月1日至公元9999年12月31日。
IsDate(99-6-18)=False
IsDate(“99-6-18")=True
  说明:(1)在表2.5中,日期参数D是任何能够表示为日期的数值型表达式、字符串型表达式或它们的组合。时间参数T是任何能够表示为时间的数值型表达式、字符串型表达式或它们的组合。
  当参数D是数值型表达式时,其值表示相对于1899年12月30日前后天数,负数是1899年12月30日以前,正数是1899年12月30日以后。
  (2)星期函数Weekday(D)的函数值与星期的对应关系如下表所示。
表 星期函数Weekday(D)的函数值与星期的对应关系
函数值
星期
函数值
星期
1
星期日
5
星期四
2
星期一
6
星期五
3
星期二
7
星期六
4
星期三
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐