LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

ASP和ACCESS中日期时间比较

admin
2012年2月24日 11:3 本文热度 2451

网站系统使用ACCESS数据库时,查询时怎么比较日期和时间呢?为什么常常比较出来却是错误的呢?比如早的日期比迟的日期大?
在ASP中先做一个小测试,就是比较两个日期,代码如下:
<%="2007-2-1" > "2007-10-01"%>
结果显示为:True
奇怪了,为什么大日期还小呢?把日期的双引号去掉,还是返回:True
那是怎么回事呢?原来是单纯时间或用双引号括起来,在ASP中不代表时间,时间需要用两个井号(#)括起来,如下:
<%=#2007-2-1# > #2007-10-01#%>
这回就返回False了,证明时间比较已经正确。
所以在ASP中需要用井号括起来。ASP还有其他日期函数用来做比较的,那就是:DateDiff,语法如下:
DateDiff( 间隔字符, 日期1, 日期2 [,firstdayofweek[, firstweekofyear]])
一般使用 DateDiff( 间隔字符, 日期1, 日期2) 就足够了。
解释一下:此函数返回间隔的日期或时间,返回的是年、月、日就要设置间隔字符了,比如间隔字符为:"yyyy" 就表示比较年份, "d" 比较日期,"m" 比较月份,如果日期1晚于日期1,那么会返回负数
举个例子:
<%=DateDiff( "d", #2008-1-10#, #2008-1-2#)%>
结果是:-8
ACCESS查询中怎么写日期比较的SQL语句?
1、首先在设计ACCESS数据表时,日期字段必须为:日期/时间,如果字段类型为字符等,日期比较时会不正确。
2、SQL语句例子(查找比指定日期后的记录):
代码一
select * from 表名 where DateDiff( "d", 日期字段列名, #指定日期#) <= 0
代码二
select * from 表名 where 日期字段列名>#指定日期#
注意指定日期两边要用井号括起来的。

要实现一个表单输入像"1963-7-13 17:00:00"怎么判断,最重要的问题是要怎么才能验证表单里面的时间不能小于现在的时间。也就是不能小于now()。

字符串转化为时间类型,在ASP里用强制类型转换cdate

请看例子:
aaa="2963-7-13 17:00:00"
bbb=now()
if cdate(aaa)>bbb then
response.Write("表单的时间大")
else
Response.write("表单的时间小")
end if


该文章在 2012/2/24 11:03:46 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved