标题:如何比较两个日期的大小?
只看楼主
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
结帖率:88.89%
 问题点数:0 回复次数:9 
如何比较两个日期的大小?
请问各位大虾,如何进行两个日期的比较?
我使用js,但是发现日期相近的比较时正确,日期差距大时,比较就乱比较了,请看这些代码,给出点建议吧!
<script language="JavaScript">
function mycheck(){
if(form1.jhnr.value =="" )
{alert("请输入计划内容!");form1.jhnr.focus();
return(false);
}
if(form1.jhwcsj.value =="" )
{alert("请输入计划完成时间!");form1.jhwcsj.focus();
return(false);
}
if(form1.jhrq.value > form1.jhwcsj.value)
{alert("计划完成日期不能小于计划日期,请重新选择!");form1.jhwcsj.focus();
return(false);
}
form1.submit();
}
</script> jhrq为获得的当前的日期,jhwcsj为选择的日期,格式:2007-11-5 请各位大虾指正,谢谢!
搜索更多相关主题的帖子: quot value alert false 大虾 
2007-11-05 23:56
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
if(form1.jhrq.value > form1.jhwcsj.value)
改成以下试试
var mytime=Date.parse(form1.jhrq.value)-Date.parse(form1.jhwcsj.value)
然后判断mytime是否大于0来判断日期的大小
2007-11-06 00:29
放任一切
Rank: 2
等 级:新手上路
威 望:4
帖 子:217
专家分:0
注 册:2007-3-22
得分:0 

记得有个函数是DateDiff可以直接比较

2007-11-06 10:37
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
得分:0 
DateDiff('d',riqi,'"&startdate&"')>=0 这个比较简单,请问这里面的东西要在上述JS中使用该怎么写啊?请各位大虾指点,谢谢!
后面两个日期的参数该如何写?怎么能用在if判断中呢?
望大虾指点迷津!
2007-11-06 16:59
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
得分:0 
cdate(time1)
cdate(time2)
这样不能比较吗?
2007-11-06 17:31
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
得分:0 
以下是引用lq7350684在2007-11-6 17:31:23的发言:
cdate(time1)
cdate(time2)
这样不能比较吗?

请说具体点啊,我不知道该怎么使用?运行后出错啊!

2007-11-06 17:39
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
3楼和5楼的方法应该是vbscript语法,在js里应该不适合吧?
2楼的方法有没有试过?我这边调试不方便。
2007-11-06 17:43
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
得分:0 
以下是引用madpbpl在2007-11-6 17:43:55的发言:
3楼和5楼的方法应该是vbscript语法,在js里应该不适合吧?
2楼的方法有没有试过?我这边调试不方便。

<script language="JavaScript">
function mycheck(){
if(form1.jhnr.value =="" )
{alert("请输入计划内容!");form1.jhnr.focus();
return(false);
}
if(form1.jhwcsj.value =="" )
{alert("请输入计划完成时间!");form1.jhwcsj.focus();
return(false);
}
var mytime=Date.parse(form1.jhrq.value)-Date.parse(form1.jhwcsj.value)
if(mytime>0)
{alert("计划完成日期不能小于计划日期,请重新选择!");form1.jhwcsj.focus();
return(false);
}
form1.submit();
}
</script>
还是不行啊?但是我不知道,我用的方式是不是正确的,请大虾指正,谢谢!

2007-11-06 18:48
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
得分:0 

如果纯粹是比较2007-11-6这种格式的日期,那就直接把数据转换成日期格式的就行了。
比如拿2007-11-6这个日期跟当前系统的时间比较为例子。
2007-11-6这个数据在数据库中对应的字段是vtime
那系统时间就是date
比较他们两个就可以用cdate函数来直接比较。
比如当系统当前时间大于vtime时间时,则输出过期。
那就是
<%
if cdate(date)>cdate(rs("vtime")) then
response.white("过期")
end if
%>
不知道你要的是比较什么日期,其实我没看你的那js,呵呵。

2007-11-07 09:06
boyfuture
Rank: 1
等 级:新手上路
帖 子:552
专家分:0
注 册:2005-12-20
得分:0 
可能是我没有说清楚,请见谅。
我的网页中有两个文本框,其中一个jhrq为获取的系统时间,另外一个jhwcsj为客户选择的日期,
这两个日期的格式都是2007-11-07这样的格式。
我希望对客户选择的日期jhwcsj进行判断用javascript,
检查客户输入的jhwcsj是否比系统时间jhrq小,
如果小则提交表单的时候,弹出对话框:选择的日期不能小于当前日期,请重新输入!
基本就是这个过程,请各位大虾赐教!
2007-11-07 13:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-183797-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019662 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved