高分 求解~~ JS 日期控件 与 相减 时间控件http://www.my97.net/dp/demo/至于第2个问题,你自己写吧给你个参考http://zpw218923.blog.163.com/blog/static/986192320085201952415/ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JS比较两个日期格式的大小 if(document.all.TextBoxTimeStart.value!=""&&document.all.TextBoxTimeEnd.value!=""){ var checkStartDate = document.all.TextBoxTimeStart.value; var checkEndDate = document.all.TextBoxTimeEnd.value; //alert(checkStartDate+'--'+checkEndDate); var arys= new Array(); var startdate=new Date(arys[0],parseInt(arys[1]-1),arys[2]); if(checkStartDate != null && checkEndDate != null) { arys=checkStartDate.split('-'); var startdate=new Date(arys[0],parseInt(arys[1]-1),arys[2]); arys=checkEndDate.split('-'); var checkEndDate=new Date(arys[0],parseInt(arys[1]-1),arys[2]); if(startdate > checkEndDate) { alert("日期开始时间大于结束时间!"); return false; } }} <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>新建网页 1</title></head><body><div id=time><input value="2009-03-14 09:00"><input value="2009-03-15 09:10"><input value="2009-03-16 09:20"><input value="2009-03-17 09:30"><input value=""><input value=""></div><script language="javascript"><!--onload=function(){//设定事件var obj=document.getElementById("time").getElementsByTagName("input");for (var i=0;i<4;i++)obj[i].onblur=function(){showTime(obj)}}function showTime(obj){//显示时间差if (obj[0].value!="" && obj[1].value!="") obj[4].value=getTime(obj[0].value,obj[1].value)else obj[4].value=""if (obj[2].value!="" && obj[3].value!="") obj[5].value=getTime(obj[2].value,obj[3].value)else obj[5].value=""}function getTime(v1,v2){//计算时间差var t1=v1.split(" ")var t2=v2.split(" ")var tt1=t1[0].split("-")var tt2=t2[0].split("-")t1=tt1[1]+"/"+tt1[2]+"/"+tt1[0]+" "+t1[1];//转化为标准时间格式(月/日/年 时:分:秒)t2=tt2[1]+"/"+tt2[2]+"/"+tt2[0]+" "+t2[1];//转化为标准时间格式(月/日/年 时:分:秒)//var addm=Math.floor((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟不计var addm=Math.ceil((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟按1分钟计var d=Math.floor(addm/60/24)var m=addm-d*60*24return d+"天"+m+"分钟"//返回制定格式时间}//--></script></body></html> <td><div>客户报障时间</div></td> <td><input type="text" name="khbztime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"/></td> //调用My97DatePicker4.0 日期控件取得日期时间 </tr> <tr> <td><div>到达现场时间</div></td> <td><input type="text" name="ddtime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" onblur="getvalue()"/></td> <td class="index"><div align="left">故障恢复时间</div></td> <td><input type="text" name="gzhftime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"/></td> <td><div>响应时长</div></td> <td><input type="text" name="xytime"/></td> //到达现在时间 减去 客户报障时间 ??如何自动运算得到结果 <td><div>修复时长</div></td> <td><input type="text" name="xftime"/></td> //故障修复时间 减去 到达现在时间 ??如何自动运算得到结果 </tr> <tr> <td><div align="left">故障累计时间</div></td> <td><input type="text" name="ljtime"/></td> //到达现在时间 减去 客户报障时间 ??如何自动运算得到结果 <table border="1" width="100%" id="time"><tr> <td> <div>客户报障时间 </div> </td> <td> <input type="text" name="khbztime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-14 09:00"/> </td> //调用My97DatePicker4.0 日期控件取得日期时间 </tr> <tr> <td> <div>到达现场时间 </div> </td> <td> <input type="text" name="ddtime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-15 09:10"/> </td> </tr> <tr> <td class="index"> <div align="left">故障恢复时间 </div> </td> <td> <input type="text" name="gzhftime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-16 09:20"/> </td> </tr> <tr> <td> <div>响应时长(到达现场时间 减去 客户报障时间 ) </div> </td> <td> <input type="text" name="xytime"/> </td> </tr> <tr> <td> <div>修复时长(故障修复时间 减去 到达现场时间) </div> </td> <td> <input type="text" name="xftime"/> </td></tr> <tr> <td> <div align="left">故障累计时间(故障修复时间 减去 客户报障时间) </div> </td> <td> <input type="text" name="ljtime"/> </td></tr></table> <script language="javascript"><!--function WdatePicker(){}onload=function(){//设定事件var obj=document.getElementById("time").getElementsByTagName("input");for (var i=0;i<3;i++)obj[i].onblur=function(){showTime(obj)}}function showTime(obj){//显示时间差if (obj[0].value!="" && obj[1].value!="") obj[3].value=getTime(obj[0].value,obj[1].value)else obj[4].value=""if (obj[1].value!="" && obj[2].value!="") obj[4].value=getTime(obj[1].value,obj[2].value)else obj[5].value=""if (obj[0].value!="" && obj[2].value!="") obj[5].value=getTime(obj[0].value,obj[2].value)else obj[5].value=""}function getTime(v1,v2){//计算时间差var t1=v1.split(" ")var t2=v2.split(" ")var tt1=t1[0].split("-")var tt2=t2[0].split("-")t1=tt1[1]+"/"+tt1[2]+"/"+tt1[0]+" "+t1[1];//转化为标准时间格式(月/日/年 时:分:秒)t2=tt2[1]+"/"+tt2[2]+"/"+tt2[0]+" "+t2[1];//转化为标准时间格式(月/日/年 时:分:秒)//var addm=Math.floor((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟不计var addm=Math.ceil((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟按1分钟计var d=Math.floor(addm/60/24)var m=addm-d*60*24return d+"天"+m+"分钟"//返回制定格式时间}//--></script> 谢谢 caiying2009 回答~经测试都通过,但发现1.如果将返回格式为:**天**小时**分钟 如何?2.测试发现修改之后的日期数据,如果直接点击“提交”,提交之后获取的数据还是没有更新的,几个日期都是关联的,有什么方案可以改进?谢谢~ <table border="1" width="100%" id="time"><tr> <td> <div>客户报障时间 </div> </td> <td> <input type="text" name="khbztime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-14 09:00"/> </td> //调用My97DatePicker4.0 日期控件取得日期时间 </tr> <tr> <td> <div>到达现场时间 </div> </td> <td> <input type="text" name="ddtime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-15 10:10"/> </td> </tr> <tr> <td class="index"> <div align="left">故障恢复时间 </div> </td> <td> <input type="text" name="gzhftime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-16 09:20"/> </td> </tr> <tr> <td> <div>响应时长(到达现场时间 减去 客户报障时间 ) </div> </td> <td> <input type="text" name="xytime"/> </td> </tr> <tr> <td> <div>修复时长(故障修复时间 减去 到达现场时间) </div> </td> <td> <input type="text" name="xftime"/> </td></tr> <tr> <td> <div align="left">故障累计时间(故障修复时间 减去 客户报障时间) </div> </td> <td> <input type="text" name="ljtime"/> </td></tr></table> <input type=button value="OK" onclick="showTime()"><script language="javascript"><!--function WdatePicker(){}function showTime(){//显示时间差var obj=document.getElementById("time").getElementsByTagName("input");if (obj[0].value!="" && obj[1].value!="") obj[3].value=getTime(obj[0].value,obj[1].value)else obj[4].value=""if (obj[1].value!="" && obj[2].value!="") obj[4].value=getTime(obj[1].value,obj[2].value)else obj[5].value=""if (obj[0].value!="" && obj[2].value!="") obj[5].value=getTime(obj[0].value,obj[2].value)else obj[5].value=""}function getTime(v1,v2){//计算时间差var t1=v1.split(" ")var t2=v2.split(" ")var tt1=t1[0].split("-")var tt2=t2[0].split("-")t1=tt1[1]+"/"+tt1[2]+"/"+tt1[0]+" "+t1[1];//转化为标准时间格式(月/日/年 时:分:秒)t2=tt2[1]+"/"+tt2[2]+"/"+tt2[0]+" "+t2[1];//转化为标准时间格式(月/日/年 时:分:秒)//var addm=Math.floor((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟不计var addm=Math.ceil((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟按1分钟计var d=Math.floor(addm/60/24)var h=Math.floor((addm-d*60*24)/60)var m=addm-d*60*24-h*60return d+"天"+h+"小时"+m+"分钟"//返回制定格式时间}//--></script> 关于用javascript实现隔段时间保存一次的问题 求解JS+VML(SVG、Canvas等)实现工作流设计器 一个函数式中的if失常 在javascript语句内,第三层引号应该怎么写? 为什么这个检查表格的javascript用不了? javascript进行声音播放控制 求鼠标跟随的源代码?图片跟随鼠标以顺时针方向旋转 JS高手们看过来!---要实现2组单选按钮。。。 想请教下,这段话怎么理解? obj怎么生成一个newObj 用JS怎么改变样式。。在线等候 在网页中如何动态展示数据曲线?
if(document.all.TextBoxTimeStart.value!=""&&document.all.TextBoxTimeEnd.value!="")
{
var checkStartDate = document.all.TextBoxTimeStart.value;
var checkEndDate = document.all.TextBoxTimeEnd.value;
//alert(checkStartDate+'--'+checkEndDate);
var arys= new Array();
var startdate=new Date(arys[0],parseInt(arys[1]-1),arys[2]);
if(checkStartDate != null && checkEndDate != null)
{
arys=checkStartDate.split('-');
var startdate=new Date(arys[0],parseInt(arys[1]-1),arys[2]);
arys=checkEndDate.split('-');
var checkEndDate=new Date(arys[0],parseInt(arys[1]-1),arys[2]);
if(startdate > checkEndDate)
{
alert("日期开始时间大于结束时间!");
return false;
}
}
}
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head><body>
<div id=time>
<input value="2009-03-14 09:00">
<input value="2009-03-15 09:10">
<input value="2009-03-16 09:20">
<input value="2009-03-17 09:30">
<input value="">
<input value="">
</div>
<script language="javascript">
<!--
onload=function(){//设定事件
var obj=document.getElementById("time").getElementsByTagName("input");
for (var i=0;i<4;i++)
obj[i].onblur=function(){showTime(obj)}
}
function showTime(obj){//显示时间差
if (obj[0].value!="" && obj[1].value!="") obj[4].value=getTime(obj[0].value,obj[1].value)
else obj[4].value=""
if (obj[2].value!="" && obj[3].value!="") obj[5].value=getTime(obj[2].value,obj[3].value)
else obj[5].value=""
}
function getTime(v1,v2){//计算时间差
var t1=v1.split(" ")
var t2=v2.split(" ")
var tt1=t1[0].split("-")
var tt2=t2[0].split("-")
t1=tt1[1]+"/"+tt1[2]+"/"+tt1[0]+" "+t1[1];//转化为标准时间格式(月/日/年 时:分:秒)
t2=tt2[1]+"/"+tt2[2]+"/"+tt2[0]+" "+t2[1];//转化为标准时间格式(月/日/年 时:分:秒)
//var addm=Math.floor((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟不计
var addm=Math.ceil((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟按1分钟计
var d=Math.floor(addm/60/24)
var m=addm-d*60*24
return d+"天"+m+"分钟"//返回制定格式时间
}
//-->
</script>
</body></html>
<td><input type="text" name="khbztime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"/></td> //调用My97DatePicker4.0 日期控件取得日期时间
</tr>
<tr>
<td><div>到达现场时间</div></td>
<td><input type="text" name="ddtime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" onblur="getvalue()"/></td>
<td class="index"><div align="left">故障恢复时间</div></td>
<td><input type="text" name="gzhftime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"/></td>
<td><div>响应时长</div></td>
<td><input type="text" name="xytime"/></td> //到达现在时间 减去 客户报障时间 ??如何自动运算得到结果
<td><div>修复时长</div></td>
<td><input type="text" name="xftime"/></td> //故障修复时间 减去 到达现在时间 ??如何自动运算得到结果
</tr>
<tr>
<td><div align="left">故障累计时间</div></td>
<td><input type="text" name="ljtime"/></td> //到达现在时间 减去 客户报障时间 ??如何自动运算得到结果
<tr>
<td> <div>客户报障时间 </div> </td>
<td> <input type="text" name="khbztime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-14 09:00"/> </td> //调用My97DatePicker4.0 日期控件取得日期时间
</tr> <tr>
<td> <div>到达现场时间 </div> </td>
<td> <input type="text" name="ddtime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-15 09:10"/> </td>
</tr> <tr>
<td class="index"> <div align="left">故障恢复时间 </div> </td>
<td> <input type="text" name="gzhftime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-16 09:20"/> </td>
</tr> <tr>
<td> <div>响应时长(到达现场时间 减去 客户报障时间 ) </div> </td>
<td> <input type="text" name="xytime"/> </td>
</tr> <tr>
<td> <div>修复时长(故障修复时间 减去 到达现场时间) </div> </td>
<td> <input type="text" name="xftime"/> </td>
</tr> <tr>
<td> <div align="left">故障累计时间(故障修复时间 减去 客户报障时间) </div> </td>
<td> <input type="text" name="ljtime"/> </td>
</tr>
</table>
<script language="javascript">
<!--
function WdatePicker(){}
onload=function(){//设定事件
var obj=document.getElementById("time").getElementsByTagName("input");
for (var i=0;i<3;i++)
obj[i].onblur=function(){showTime(obj)}
}
function showTime(obj){//显示时间差
if (obj[0].value!="" && obj[1].value!="") obj[3].value=getTime(obj[0].value,obj[1].value)
else obj[4].value=""
if (obj[1].value!="" && obj[2].value!="") obj[4].value=getTime(obj[1].value,obj[2].value)
else obj[5].value=""
if (obj[0].value!="" && obj[2].value!="") obj[5].value=getTime(obj[0].value,obj[2].value)
else obj[5].value=""
}
function getTime(v1,v2){//计算时间差
var t1=v1.split(" ")
var t2=v2.split(" ")
var tt1=t1[0].split("-")
var tt2=t2[0].split("-")
t1=tt1[1]+"/"+tt1[2]+"/"+tt1[0]+" "+t1[1];//转化为标准时间格式(月/日/年 时:分:秒)
t2=tt2[1]+"/"+tt2[2]+"/"+tt2[0]+" "+t2[1];//转化为标准时间格式(月/日/年 时:分:秒)
//var addm=Math.floor((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟不计
var addm=Math.ceil((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟按1分钟计
var d=Math.floor(addm/60/24)
var m=addm-d*60*24
return d+"天"+m+"分钟"//返回制定格式时间
}
//-->
</script>
<tr>
<td> <div>客户报障时间 </div> </td>
<td> <input type="text" name="khbztime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-14 09:00"/> </td> //调用My97DatePicker4.0 日期控件取得日期时间
</tr> <tr>
<td> <div>到达现场时间 </div> </td>
<td> <input type="text" name="ddtime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-15 10:10"/> </td>
</tr> <tr>
<td class="index"> <div align="left">故障恢复时间 </div> </td>
<td> <input type="text" name="gzhftime" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})" value="2009-03-16 09:20"/> </td>
</tr> <tr>
<td> <div>响应时长(到达现场时间 减去 客户报障时间 ) </div> </td>
<td> <input type="text" name="xytime"/> </td>
</tr> <tr>
<td> <div>修复时长(故障修复时间 减去 到达现场时间) </div> </td>
<td> <input type="text" name="xftime"/> </td>
</tr> <tr>
<td> <div align="left">故障累计时间(故障修复时间 减去 客户报障时间) </div> </td>
<td> <input type="text" name="ljtime"/> </td>
</tr>
</table> <input type=button value="OK" onclick="showTime()">
<script language="javascript">
<!--
function WdatePicker(){}function showTime(){//显示时间差
var obj=document.getElementById("time").getElementsByTagName("input");
if (obj[0].value!="" && obj[1].value!="") obj[3].value=getTime(obj[0].value,obj[1].value)
else obj[4].value=""
if (obj[1].value!="" && obj[2].value!="") obj[4].value=getTime(obj[1].value,obj[2].value)
else obj[5].value=""
if (obj[0].value!="" && obj[2].value!="") obj[5].value=getTime(obj[0].value,obj[2].value)
else obj[5].value=""
}
function getTime(v1,v2){//计算时间差
var t1=v1.split(" ")
var t2=v2.split(" ")
var tt1=t1[0].split("-")
var tt2=t2[0].split("-")
t1=tt1[1]+"/"+tt1[2]+"/"+tt1[0]+" "+t1[1];//转化为标准时间格式(月/日/年 时:分:秒)
t2=tt2[1]+"/"+tt2[2]+"/"+tt2[0]+" "+t2[1];//转化为标准时间格式(月/日/年 时:分:秒)
//var addm=Math.floor((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟不计
var addm=Math.ceil((Date.parse(t2)-Date.parse(t1))/1000/60);//时间差(单位:分钟)不足1分钟按1分钟计
var d=Math.floor(addm/60/24)
var h=Math.floor((addm-d*60*24)/60)
var m=addm-d*60*24-h*60
return d+"天"+h+"小时"+m+"分钟"//返回制定格式时间
}
//-->
</script>