日期和时间函数DateAdd

    技术2022-05-11  63

    【名称】     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     星期三  

    最新回复(0)