ASP 日期的加减运算实现代码
日期:2021-09-05 22:12:25 来源:脚本之家
SQL语句如下:SELECT * FROM userinfo WHERE regtime >= '2007-10-12' AND regtime <= '2007-10-31'。初看上去这条SQL语句没有错误,可是对照数据库中相应字段保存的值以后,发现保存的值并不是简单的日期形式,而是日期+时间的形式,即:yyyy-MM-dd HH:mm:ss,这时SQL语句在判断regtime和'2007-10-31'的大小时,会认为'2007-10-31'写的不完整,所以不会认为这两个值是相等的。这可怎么办呢?
不用着急,ASP为我们提供了日期加减的函数,来帮我们解决这一问题。
1.日期相加
DateAdd 函数
返回已添加指定时间间隔的日期。
DateAdd(interval, number, date)
DateAdd 函数的语法有以下参数
(1)interval 必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。
(2)number 必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。
(3)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 型值,则在计算前四舍五入为最接近的整数。
2.日期相减
DateDiff 函数
返回两个日期之间的时间间隔。
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateDiff 函数的语法有以下参数:
(1)interval 必选项。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
(2)date1, date2 必选项。日期表达式。用于计算的两个日期。
(3)Firstdayofweek 可选项。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
(4)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 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。
要计算 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 表示相差一个年份。
您感兴趣的教程
在docker中安装mysql详解
本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...
win10中文输入法仅在桌面显示怎么办?
win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...
一分钟掌握linux系统目录结构
这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...
PHP程序员玩转Linux系列 Linux和Windows安装
这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...
win10怎么安装杜比音效Doby V4.1 win10安装杜
第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...
纯CSS实现iOS风格打开关闭选择框功能
这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...
Win7如何给C盘扩容 Win7系统电脑C盘扩容的
Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...
百度推广竞品词的投放策略
SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...
Visual Studio Code(vscode) git的使用教程
这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...
七牛云储存创始人分享七牛的创立故事与
这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...
Win10预览版Mobile 10547即将发布 9月19日上午
微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...
HTML标签meta总结,HTML5 head meta 属性整理
移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...
移动端html5模拟长按事件的实现方法
这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...
HTML常用meta大全(推荐)
这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...
cdr怎么把图片转换成位图? cdr图片转换为
cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...
win10系统怎么录屏?win10系统自带录屏详细
当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...