yyyy 年 q m y d w ww h n s 季 月 一年的日数 日 一周的日数 周 时 分钟 秒 firstdayofweek 参数的设定值如下: 常数 值 描述 使用 NLS API 设置。 星期日(缺省值) 星期一 星期二 星期三 星期四 星期五 星期六 vbUseSystem 0 vbSunday vbMonday vbTuesday 1 2 3 vbWednesday 4 vbThursday 5 vbFriday 6 vbSaturday 7 常数 vbUseSystem vbFirstJan1 vbFirstFourDays 值 0 1 2 描述 用 NLS API 设置。 从包含 1 月 1 日的星期开始(缺省值)。 从第一个其大半个星期在新的一年的一周开始。 vbFirstFullWeek 说明
3 从第一个无跨年度的星期开始。 DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。
为了计算 date1 与 date2 相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果 date1 是星期一,DateDiff 计算到 date2 为止的星期一的个数。这个数包含 date2 但不包含 date1。不过,如果 interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。由计算 date1 与 date2 之间星期日的个数而得。如果 date2 刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。 如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。
firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。 如果 date1 或 date2 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date1 或 date2 用双引号 (\括起来,且年份略而不提,则在每次计算表达式 date1 或 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。
在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年份,虽然实际上只相差一天而已。
DateDiff 函数示例
本示例使用 DateDiff 函数来显示某个日期与今日相差几天。 Dim TheDate As Date ' 声明变量。 Dim Msg
TheDate = InputBox(\
Msg = \MsgBox Msg
DatePart 函数
返回一个包含已知日期的指定时间部分的 Variant (Integer)。
语法
DatePart(interval, date[,firstdayofweek[, firstweekofyear]]) DatePart 函数语法中有下列命名参数: 部分 描述 必要。字符串表达式,是要返回的时间间隔。 必要。要计算的 Variant (Date) 值。 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。 月 1 日的星期为第一周。 设置
interval date Firstdayofweek firstweekofyear 可选。指定一年第一周的常数。如果未予指定,则以包含 1 interval 参数的设定值如下: 设置 描述 yyyy 年 q m y d w ww h n s 季 月 一年的日数 日 一周的日数 周 时 分钟 秒 firstdayofweek 参数的设定值如下:
常数 值 描述 使用 NLS API 设置。 星期日(缺省值) 星期一 星期二 星期三 星期四 星期五 星期六 vbUseSystem 0 vbSunday vbMonday vbTuesday 1 2 3 vbWednesday 4 vbThursday 5 vbFriday 6 vbSaturday 7 firstweekofyear 参数的设定值如下: 常数 vbUseSystem vbFirstJan1 vbFirstFourDays vbFirstFullWeek 说明
DatePart 函数可以用来计算日期并返回指定的时间间隔。例如,可以使用DatePart 计算某个日期是星期几或目前为几点钟。
值 0 1 2 3 描述 使用 NLS API 设置。 从包含 1 月 1 日的星期开始(缺省值)。 从第一个其大半个星期在新的一年的一周开始。 从第一个无跨年度的星期开始。 firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。 如果 date 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date 用双引号 (\括起来,且年份略而不提,则在每次计算 date 表达式时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。
DatePart 函数示例
本示例先取得一个日期,然后使用 DatePart 函数显示该日期是发生在该年的哪一季。
Dim TheDate As Date ' 声明变量。 Dim Msg
TheDate = InputBox(\
Msg = \MsgBox Msg
DateSerial 函数
返回包含指定的年、月、日的 Variant (Date)。 语法
DateSerial(year, month, day)
DateSerial 函数语法有下列的命名参数: 部分 描述 必要;Integer。从 100 到 9999 间的整数,或一数值表达式。 year month 必要;Integer。任何数值表达式。 day 说明
为了指定某个日期,如 1991 年 12 月 31 日,DateSerial 函数中的每个参数的取值范围应该是可接受的;即,日的取值范围应在 1-31 之间,而月的取值范围应在 1-12 之间。但是,当一个数值表达式表示某日之前或其后的年、月、日数时,也可以为每个使用这个数值表达式的参数指定相对日期。
以下示例中使用了数值表达式代替绝对日期。这里,DateSerial 函数返回 1990 年 8 月 1 日的 十 年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 之前的日期;换句话说,就是 1980 年 5 月 31 日。 DateSerial(1990 - 10, 8 - 2, 1 - 1)
必要;Integer。任何数值表达式。 year 参数的数值若介于 0 与 29 之间,则将其解释为 2000–2029年,若介于 30 和 99 之间则解释为1930–1999年。而对所有其它 year 参数,则请用四位数值表示(如 1800)。