用Jquery写一个开始时间与结束时相差不能超过24小时的验证。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Jquery写一个开始时间与结束时相差不能超过24小时的验证。相关的知识,希望对你有一定的参考价值。

<!-- 以下代码放到 .html 文件,用浏览器打开就有效果,注释也写了,自己要理解 -->
<!DOCTYPE html>
<html>  
<head> 
    <title>校验时间</title> 
</head>
<body>   
<!-- input 使用 onblur,失去光标的时候,调用方法 check() -->
    <input id="begindate" value="2015-1-1 13:00:00" onblur="check()" />
    <input id="enddate" value="2015-1-2 13:00:01" onblur="check()" />
</body>
</html>

<script type="text/javascript">
// 光标默认选中 enddate
document.getElementById("enddate").focus();
// 校验时间
function check()
try
// 获取时间
var begindate = document.getElementById("begindate").value;
var enddate = document.getElementById("enddate").value;
var begin = changeDate(begindate);
var end = changeDate(enddate);
// 获取毫秒
checkDate(begin,end);
 catch (e) 
alert(e.message);

 
// 传入两个时间参数
function checkDate(begindate,enddate)
try  
// 获取毫秒
var beginsecond = begindate.getTime();
var endsecond = enddate.getTime(); 
var days = (endsecond-beginsecond)/(24*3600*1000);
if(days>1)
alert("超过24小时");
else
alert("没有超过24小时");

 catch (e) 
alert("比较时间出错,原因:" + e.message);


// 如果你的时间是字符串 yyyy-MM-dd hh:mm:ss ,下面函数可以转成时间
function changeDate(str) 
try
var newstr = str.replace(/-/g,'/'); 
return new Date(newstr);
catch (e)
alert("转换时间出错,原因:" + e.message);


</script>

参考技术A

html5 在谷歌中浏览:

开始时间:<input type="date" id="startTime" />

结束时间:<input type="date" id="endTime" />

<input type="button" value="提交" id="submitBtn"/>

<script type="text/javascript">
$(function()
 
   //表单提交验证
   $('#submitBtn').click(function()
     var $startTime= $('#startTime').val();
    var $endTime= $('#endTime').val();
     var time = ( Date.parse($endTime)-Date.parse($startTime)) / 3600 / 1000; //小时差

 if(time!=24)
  alert('NO');
 else
  alert('OK')
 
   )
)
</script>

追问

是自动触发的,没有按钮

追答

自动触发不就是改事件么, 把click事件改为你想要触发的事件不久行了吗,拜托,这个东西就不要追问了好吧。
click改为blur
$('#endTime').blur(function()
);

追问

不好意思,我是初学者

参考技术B http://www.jq-school.com/Article.aspx?id=3
这个里面应该有你要的,你看看~

SQL计算时间差

参考技术A 语法:DATEDIFF(开始时间,结束时间)

释义:DATEDIFF可以计算开始时间与结束时间的时间差,结果是天数

栗子:

语法:TIMESTAMPDIFF(时间粒度,开始时间,结束时间)

释义:(1)时间粒度参数:

                   2/SECOND--秒:计算开始时间与结束时间相差的秒数。

                   4/MINUTE--分:计算开始时间与结束时间相差多少分钟。

                   8/HOUR--小时:计算开始时间与结束时间相差多少小时。

                   16/DAY--天:计算开始时间与结束时间相差的天数。

                   32/WEEK--周:计算开始时间与结束时间相差的周数。

                   64/MONTH--月:计算开始时间与结束时间相差多少月。

                  128/QUARTER--季:计算开始时间与结束时间相差的季度数。

                   256/YEAR--年:计算开始时间与结束时间相差的年数。

(2)开始时间:需要计算时间差的开始时间,参数格式需要为时间格式。

(3)结束时间:需要计算时间差的结束时间,参数格式需要为时间格式。

栗子:

以上是关于用Jquery写一个开始时间与结束时相差不能超过24小时的验证。的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Bootstrap Timepicker 开始和结束时间

Friendly Date Ranges

js-FCC算法Friendly Date Ranges

SQL计算时间差

js或者jQuery怎么写判断时间是多久之前,

如何用Excel算日期差,而且能算出相差几年几个月?