javascript时间先后的比较

lgs6715 2003-02-11 12:17:09
数据库 SQLSERVER
表 tab_rate
字段 updatetime
类型 smalldatetime
默认值 getDate()


<div id=cc> </div>
<script>
var money_array=new Array()
var kind_array=new Array()
var term_array=new Array()
var rate_array=new Array()
var updatetime_array=new Array()

<%
num=0
sqlstr="select money, kind, term, rate, substring(convert(char,updatetime,120),1,10) AS updatetime FROM TAB_RATE WHERE (type LIKE '%储蓄%利率%') GROUP BY money, kind, term, rate, updatetime ORDER BY money,kind,updatetime DESC, term"

set rs=dataconn.execute(sqlstr)
do while not rs.eof
%>
money_array[<%=num%>]=<%="'"&rs("money")&"'"%>
kind_array[<%=num%>]=<%="'"&rs("kind")&"'"%>
term_array[<%=num%>]=<%=rs("term")%>
rate_array[<%=num%>]=<%=rs("rate")%>

updatetime_array[<%=num%>]=<%="'"&rs("updatetime")&"'"%>

<%
num=num+1
rs.movenext
loop
rs.close:set rs=nothing
dataconn.close:set conn=nothing
%>
var str=" "
for(var i=0;i<money_array.length;i++)
str=str+money_array[i]+","+kind_array[i]+","+term_array[i]+","+rate_array[i]+","+updatetime_array[i]+"<br>"
cc.innerHTML=str
</script>

运行显示:(得到想要的结果)

港币,活期,0,0.004375,2002-02-01
港币,通知存款,7,0.008438,2000-01-01
港币,整存整取,1,0.0125,2002-08-01
港币,整存整取,3,0.0125,2002-08-01
港币,整存整取,6,0.01375,2002-08-01
港币,整存整取,12,0.014375,2002-08-01
港币,整存整取,24,0.015,2002-08-01

但是取利率结果失败:
/*****************取得小于date_value的利率**************************/
function getDBRate2(money_value,kind_value,term_value,date_value){
for(var i=0;i<money_array.length;i++){
var b1=money_array[i].indexOf(money_value)>=0
var b2=kind_array[i].indexOf(kind_value)>=0
var b3=term_array[i]==term_value
var b4=updatetime_array[i]<date_value

if(b1 && b2 && b3 && b4) return rate_array[i]
}

return 0;
}

alert(getDBRate2("英镑","活期",0,new Date("2002-02-12")))//总返回0
//数据库中是有满足小于2002-02-12条件的记录的

问题出在哪里,各位高手帮忙?




...全文
270 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgs6715 2003-02-12
  • 打赏
  • 举报
回复
从数据库里取出来的好象什么数据类型都不是
鸡不是时间类型,也不是字符串
只能笨办法
从数据库里取年份,月份,天数再合并

痛苦
解决了
lgs6715 2003-02-11
  • 打赏
  • 举报
回复
/***************取得小于date_value的利率**************************/

function getDBRate2(money_value,kind_value,term_value,date_value){

for(var i=0;i<money_array.length;i++){
var b1=money_array[i].indexOf(money_value)>=0
var b2=kind_array[i].indexOf(kind_value)>=0
var b3=term_array[i]==term_value
var b4=updatetime_array[i]<=date_value
//alert(b1+b2+b3+b4)
if(b1 && b2 && b3 && b4) return rate_array[i]
}

return 0;
}

alert(getDBRate2("港币","活期",0,new Date("2/12/2002")))
lgs6715 2003-02-11
  • 打赏
  • 举报
回复
还是不行啊
孟子E章 2003-02-11
  • 打赏
  • 举报
回复
alert(getDBRate2("英镑","活期",0,new Date("2/12/2002")))

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧