ACCESS數據庫比較日期和時間*(轉載)

網站系統使用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

 

 

 

 

我有一段代碼可以實現:
當網頁中某會員生日與系統時間相等時,可以彈出一個對話框
但是當網頁中沒有會員生日與系統時間相等時,怎麼顯示是空白啊,就是什麼都沒有?
不知道哪裏出問題,或者大家還有更好的方法(有代碼最好了)
我是新手分數不多,大家幫幫忙啊!!!
<!--#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 onload="init()">
<div id="div1"></div>
</body>
</html>

 

 

判斷最近一個星期數據顯示》

<%if datediff("d",rs("fbsj"),now()) < 8 then%><img src="images/gif-0251.gif" border="0" /><%else%><%end if%>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章