日期:2014-05-20  浏览次数:20730 次

用javascript判断时间是否大于24小时
现要实现的功能是:期刊下载记录。取出的资料是距下载时间超过24小时者。
我已将数据库中所有的下载记录取出来了,但下载时间的字段形态是char(14),存储的数据如: '20070101092310 ',也就是 '年月日时分秒 '。
在此请教大家,该如何判断下载时间是否大于24小时?
我非常~非常迫切的想知道怎样才能实现这个功能。谢谢了!

------解决方案--------------------
2007 -01 -01 09: 23: 10
建议你还是在java里面验证好些
js的日期函数很少,你要比较,要自己写函数
------解决方案--------------------
你在java里把数据库的时间转换成data再转换成long(即将时间转换成秒为单位)
在减如果大与24*60*60就是大于24小时
------解决方案--------------------
var d = new Date()
var vYear = d.getFullYear()
var vMon = d.getMonth() + 1
var vDay = d.getDate()
var vHour = d.getHours()
var vMin = d.getMinutes()
var vSec = d.getSeconds()

------解决方案--------------------
改成大于1000000,等于就正好一天
------解决方案--------------------
先构造两个Date 对象,
然后调用parse() 方法,
将获得的两个值相减
就得到两个日期相差的毫秒数.
这个数如果大于60*60*24 则超过24小时.
呵呵
------解决方案--------------------
我提个思路,看看可行不。
写一个servlet进行验证。
用javascript可以直接得到servlet的返回结果。
java里面有个基准时间好像是1970-1-1零点。
在java里也可以直接取到基准时间到现在经过的毫秒数。
把你数据库里面的时间也很好转换为离基准时间的毫秒数。
两个数字的差 与 24*60*60*1000比较就可以了。
而且当前时间调用的是服务器的时间。
------解决方案--------------------
我用的两个日期,一个是系统时间(构造出一个Date对象),另一个是从数据库中取出的时间。netfuns(funs),hbhbhbhbhb1021(天外水火(我要多努力)),你们讲的方法,不是和我下面的方法一样吗?
<script type= "text/javascript " >
function test(){
var LSTR_Date = '20070225142012 ';//假设数据库中的下载时间
var d = new Date();
var vYear = d.getFullYear();
var vMon = d.getMonth() + 1;
var vDay = d.getDate();
var vHour = d.getHours();
var vMin = d.getMinutes();
var vSec = d.getSeconds();
var LSTR_Date1 = vYear.toString() + vMon.toString() + vDay.toString() + vHour .toString() + vMin.toString() + vSec.toString();
if((parseInt(LSTR_Date1)-parseInt(LSTR_Date)) > 1000000)
{
alert( "大于24小时! ");
}
}
</script >
===============================
而且这样的程序实在恶心。 BUG肯定有的 你算的都是临界值 刚好正确的
parseInt是会考虑进制的。。
------解决方案--------------------
我认为还是一个一个字段提取出来 然后算
<script language= "javascript ">
function()
{
var a=20070225142012;(假设这个是数据库中的时间)
var b=20070225142018;
var x=a.substring(13,14);(就是返回12这个字符串)
var y=b.substring(13,14);
var sum=parseInt(y)-parseInt(x);
`````
``````
```````依次提取小时和日期;然后加出来
假设两个的和是var m ; var n;
var time=60*60*24;
if(m> n)
{
alert( "是24小时内的 ");

}

}