dateAdd、dateDiff、DatePart参数比较参考

来源:互联网 发布:模拟贵金属交易软件 编辑:程序博客网 时间:2024/05/16 09:17

'----------------------------datepart函数
Response.write "2007-9-18的datepart('yyyy','2007-9-18')="& datepart("yyyy","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('q','2007-9-18')="&datepart("q","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('m','2007-9-18')="&datepart("m","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('y','2007-9-18')="&datepart("y","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('d','2007-9-18')="&datepart("d","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('w','2007-9-18')="&datepart("w","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('ww','2007-9-18')="&datepart("ww","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('h','2007-9-18 12:37:29')="&datepart("h","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的datepart('n','2007-9-18 12:37:29')="&datepart("n","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的datepart('s','2007-9-18 12:37:29')="&datepart("s","2007-9-18 12:37:29")&"<br>"

Response.write "<p><p>"
'----------------------------dateDiff函数

Response.write "2007-9-18的 datediff('yyyy','2007-6-13','2007-9-18')="& datediff("yyyy","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('q','2007-6-13','2007-9-18')="& datediff("q","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('m','2007-6-13','2007-9-18')="& datediff("m","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('y','2007-6-13','2007-9-18')="& datediff("y","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('d','2007-6-13','2007-9-18')="& datediff("d","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('w','2007-6-13','2007-9-18')="& datediff("w","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('ww','2007-6-13','2007-9-18')="& datediff("ww","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('h','2007-6-13','2007-9-18')="& datediff("h","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('n','2007-6-13','2007-9-18')="& datediff("n","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('s','2007-6-13','2007-9-18')="& datediff("s","2007-6-13","2007-9-18")&"<br>"

Response.write "<p><p>"
'----------------------------dateAdd函数

Response.write "2007-9-18的 dateAdd('yyyy','3','2007-9-18 12:37:29')="& dateAdd("yyyy","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('q','3','2007-9-18 12:37:29')="& dateAdd("q","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('m','3','2007-9-18 12:37:29')="& dateAdd("m","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('y','3','2007-9-18 12:37:29')="& dateAdd("y","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('d','3','2007-9-18 12:37:29')="& dateAdd("d","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('w','3','2007-9-18 12:37:29')="& dateAdd("w","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('ww','3','2007-9-18 12:37:29')="& dateAdd("ww","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('h','3','2007-9-18 12:37:29')="& dateAdd("h","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('n','3','2007-9-18 12:37:29')="& dateAdd("n","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('s','3','2007-9-18 12:37:29')="& dateAdd("s","3","2007-9-18 12:37:29")&"<br>"

结果:
2007-9-18的datepart('yyyy','2007-9-18')=2007
2007-9-18的datepart('q','2007-9-18')=3
2007-9-18的datepart('m','2007-9-18')=9
2007-9-18的datepart('y','2007-9-18')=261
2007-9-18的datepart('d','2007-9-18')=18
2007-9-18的datepart('w','2007-9-18')=3
2007-9-18的datepart('ww','2007-9-18')=38
2007-9-18的datepart('h','2007-9-18 12:37:29')=12
2007-9-18的datepart('n','2007-9-18 12:37:29')=37
2007-9-18的datepart('s','2007-9-18 12:37:29')=29

2007-9-18的 datediff('yyyy','2007-6-13','2007-9-18')=0
2007-9-18的 datediff('q','2007-6-13','2007-9-18')=1
2007-9-18的 datediff('m','2007-6-13','2007-9-18')=3
2007-9-18的 datediff('y','2007-6-13','2007-9-18')=97
2007-9-18的 datediff('d','2007-6-13','2007-9-18')=97
2007-9-18的 datediff('w','2007-6-13','2007-9-18')=13
2007-9-18的 datediff('ww','2007-6-13','2007-9-18')=14
2007-9-18的 datediff('h','2007-6-13','2007-9-18')=2328
2007-9-18的 datediff('n','2007-6-13','2007-9-18')=139680
2007-9-18的 datediff('s','2007-6-13','2007-9-18')=8380800

2007-9-18的 dateAdd('yyyy','3','2007-9-18 12:37:29')=2010-9-18 下午 12:37:29
2007-9-18的 dateAdd('q','3','2007-9-18 12:37:29')=2008-6-18 下午 12:37:29
2007-9-18的 dateAdd('m','3','2007-9-18 12:37:29')=2007-12-18 下午 12:37:29
2007-9-18的 dateAdd('y','3','2007-9-18 12:37:29')=2007-9-21 下午 12:37:29
2007-9-18的 dateAdd('d','3','2007-9-18 12:37:29')=2007-9-21 下午 12:37:29
2007-9-18的 dateAdd('w','3','2007-9-18 12:37:29')=2007-9-21 下午 12:37:29
2007-9-18的 dateAdd('ww','3','2007-9-18 12:37:29')=2007-10-9 下午 12:37:29
2007-9-18的 dateAdd('h','3','2007-9-18 12:37:29')=2007-9-18 下午 03:37:29
2007-9-18的 dateAdd('n','3','2007-9-18 12:37:29')=2007-9-18 下午 12:40:29
2007-9-18的 dateAdd('s','3','2007-9-18 12:37:29')=2007-9-18 下午 12:37:32

'-------------
datepart
DatePart 函数
返回给定日期的指定部分。

DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

Arguments
interval

必选项。字符串表达式表示要返回的时间间隔。有关数值,请参阅“设置”部分。

Date

必选项。要计算的日期表达式。

firstdayof week

可选项。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。

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 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。.

下面的示例利用 DatePart 函数获得日期并显示该日所在的季节。

Function GetQuarter(TheDate)
   GetQuarter = DatePart("q", TheDate)
End Function

 

datediff
DateDiff 函数
返回两个日期之间的时间间隔。

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

DateDiff 函数的语法有以下参数:

参数
interval

必选项。String expression 表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。

date1, date2

必选项。日期表达式。用于计算的两个日期。

Firstdayofweek

可选项。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。

Firstweekofyear

可选项。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。

设置
interval 参数可以有以下值:

设置 描述
yyyy 年
q 季度
n 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 小时
m 分钟
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 由在新的一年中第一个完整的周开始。

说明
DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。

要计算 date1 和 date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 date1 是星期一,则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 date1 和 date2 之间星期日的数目。如果 date2 是星期日,DateDiff 将计算 date2,但即使 date1 是星期日,也不会计算 date1。

如果 date1 晚于 date2,则 DateDiff 函数返回负数。

firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。

如果 date1 或 date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。

在 interval 为“年”(“yyyy”)时,比较 12 月 31 日和来年的 1 月 1 日,虽然实际上只相差一天,DateDiff 返回 1 表示相差一个年份。

下面的示例利用 DateDiff 函数显示今天与给定日期之间间隔天数:

Function DiffADate(theDate)
   DiffADate = "从当天开始的天数:" & DateDiff("d", Now, theDate)
End Function

DateAdd 函数
返回已添加指定时间间隔的日期。

DateAdd(interval, number, date)

参数
interval

必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。

number

必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。

date

必选项。Variant 或要添加 interval 的表示日期的文字。

设置
interval 参数可以有以下值:

设置 描述
yyyy 年
q 季度
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 小时
n 分钟
s 秒

说明
可用 DateAdd 函数从日期中添加或减去指定时间间隔。例如可以使用 DateAdd 从当天算起 30 天以后的日期或从现在算起 45 分钟以后的时间。要向 date 添加以“日”为单位的时间间隔,可以使用“一年的日数”(“y”)、“日”(“d”)或“一周的日数”(“w”)。

DateAdd 函数不会返回无效日期。如下示例将 95 年 1 月 31 日加上一个月:

NewDate = DateAdd("m", 1, "31-Jan-95")
在这个示例中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 为 96 年 1 月 31 日,则返回 96 年 2 月 29 日,这是因为 1996 是闰年。

如果计算的日期是在公元 100 年之前,则会产生错误。

如果 number 不是 Long 型值,则在计算前四舍五入为最接近的整
数。
原创粉丝点击