搜索
查看: 10540|回复: 4

asp关于时间比较问题

[复制链接]
发表于 2010-1-22 22:31:03 | 显示全部楼层 |阅读模式

ASP和ACCESS中日期时间比较

& Z/ B H4 T; r n/ ~2 e

网站系统使用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 日期字段列名>#指定日期#
注意指定日期两边要用井号括起来的。

; h; e" M' @# {- v8 l

* L+ A$ O% K8 q$ y+ H3 _

, `6 p& C) Z9 Q9 `

我要实现一个表单输入像"1963-7-13 17:00:00"怎么判断,最重要的问题是
我要怎么才能验证表单里面的时间不能小于现在的时间。也就是不能小于now(),谢谢大家了。解决以后你可以向我提追加分的要求。

( ~4 x6 G. l- P9 p& R; v0 z

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

请看例子:

aaa="2963-7-13 17:00:00"

bbb=now()

if cdate(aaa)>bbb then
response.Write("表单的时间大")
else
Response.write("表单的时间小")
end if

* B0 |0 T0 P1 J% V

" r0 x/ G& O f# B' ?3 X) k

& R, i4 M$ K& d( g0 |2 v

6 e3 _; w3 Z6 Y, p1 \

! y; ^. G7 U- t: B. t, U" s. e5 Z4 k

[求助]网页中某会员生日与系统时间相等时,弹出对话框

# F$ `. C' c, T0 |6 l: w6 N
! B# x/ _, \0 u0 [/ S) x, R$ ?5 V# u
我有一段代码可以实现:
当网页中某会员生日与系统时间相等时,可以弹出一个对话框
但是当网页中没有会员生日与系统时间相等时,怎么显示是空白啊,就是什么都没有?
不知道哪里出问题,或者大家还有更好的方法(有代码最好了)
我是新手分数不多,大家帮帮忙啊!!!
<!--#indlude file="coon.asp"-->
<% set rs=server.createobject("adodb.recordset")
sql="select * from user "
rs.open sql,conn,1,1
%>
<html>
<head>
<script>
var theDate = new Date(" <%=rst("user_date")%>".replace(/-/g,"/"));
var flag = true;
function init(){
var now = new Date();
if(now.getMonth() == theDate.getMonth()
&& now.getDate() == theDate.getDate()){
alert(user_name+'生日快乐');
flag = false;
}
if(flag){
setTimeout("init()",1000);
}
}
</script>
</head>
<body >
<div id="div1"></div>
</body>
</html>
回复

使用道具 举报

发表于 2010-2-27 15:01:58 | 显示全部楼层
这文章真不错谢谢分享
发表于 2010-3-14 00:29:13 | 显示全部楼层
3333333333333333
发表于 2010-3-25 10:23:31 | 显示全部楼层
3333333333333333
发表于 2010-4-8 17:49:51 | 显示全部楼层
顶顶顶顶顶顶
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

热议作品
精华帖子排行
精彩推荐

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 鲁公网安备 37021102000261号 |网站地图
返回顶部 返回列表