论坛数据统计           欢迎到【弱电论坛】来学习和讨论问题!

★电工电气产品供求、电气展会、人才、电气技术文章、图库、电气技术论坛等相关内容,请跳转至【电气之家网】--- 可直接使用本站会员名和密码登陆!(首次使用需要激活账户)
标王 热搜: 网络监控  弱电  机房及机柜内部的理线方法  楼宇对讲  CAD  门禁  综合布线  ar800-hn  工资  面板 
 
 
当前位置: 首页 » 技术 » 电脑技术 » 数 据 库 » 正文

DateDiff 函数参数详解(勘误记录)

放大字体  缩小字体 发布日期:2008-10-06  来源:互联网  作者:manage  浏览次数:979
核心提示: 上周因为数据库连接超时的故障,我花了三天时间优化了网页代码,使用了application缓存技术,改变了频繁读取数据库的局面。但是应用application后也带来了其他的问题,比如缓存怎么更新,我当时设定的是60分钟自动更新,生成缓存的同时,用另一个application来记录时间
 
 
    上周因为数据库连接超时的故障,我花了三天时间优化了网页代码,使用了application缓存技术,改变了频繁读取数据库的局面。但是应用application后也带来了其他的问题,比如缓存怎么更新,我当时设定的是60分钟自动更新,生成缓存的同时,用另一个application来记录时间,然后使用datediff函数来判断。

    今天上午,唯勇打电话过来问为什么首页图片无法更新,我并没在意,只是告诉他说会自动更新的。下午,我打开学校网页发现缓存居然还没有更新,首页图片还是和昨天一样,真是奇了怪了。写了一个批量列出所有缓存信息的功能,原来缓存生成时间还是停留在早上6点,看来datediff使用有问题。

    拿出我珍藏的vbs参考手册来对比。
设置 描述
yyyy
q 季度
n
y 一年的日数
d
w 一周的日数
ww
h 小时
m 分钟
s
我写的是语句是:DateDiff("m",application("indeximgtime"),now())<60,没错啊,“m”表示分钟。也许是vbs参考手册错了。上网找找资料,果然是错了。正确的参数是“m”表示月份,“n”表示的才是分钟。我一直以为“m”是“minute”缩写,所以根本不曾怀疑过,那“n”又是哪个单词的缩写呢?我的E文很差,也懒得深究,看来这些vbs参考手册也是不可靠的,呵呵。

    怕自己再次出错,特意转载正确的DateDiff函数使用说明。同时也深深体会到微软的不容易,因为我们总在骂他每更新一次补丁,就新增一些BUG,其实我又何尝不是。其实每个软件开发都是一样。

 

DateDiff 函数

返回两个日期之间的时间间隔。

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

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

参数

interval

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

date1, date2

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

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 由在新的一年中第一个完整的周开始。

说明

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

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

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

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

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

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

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

Function DiffADate(theDate)
  DiffADate = "从当天开始的天数:" & DateDiff("d", Now, theDate)
End Function
 
 
 
[ 技术搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
点击排行
 
 
 
弱电基础 | 常用软件 | 信息发布规则 | 积分规则 | VIP会员注册 | 广告投放 | 弱电培训 | 联系我们 | 版权声明 | 帮助中心 | 网站地图 | 排名推广 | 京ICP备11008917号-3 | RSS订阅
★本站手机app客户端已上线! 点击下载