陌然MO 2016-06-01 02:13 采纳率: 66.7%
浏览 5106
已采纳

jquery计算两个日期时间的差

用jquery计算出差用时。
有五个表单字段:出差日期1,出差时间1,回程日期2,回程时间2,出差用时(小时)
要绑定一个触发事件,输入前四个字段后,点击空白处,自动计算出差用时(小时)
日期格式 年-月-日 时间格式 h:m:s

下面的问题出在哪里

出差日期1 : <input id="1"  type="text" />   
出差时间1: <input id="2"  type="text" />   
出差日期2 : <input id="3"  type="text" />   
出差时间2: <input id="4"  type="text" />   
出差用时: <input id="5"  type="text" />  
<script language="javascript">   
$('#1,#2,#3,#4').blur(function () {          
var d1 = $('#1');//出差日期1         
var t1 = $('#2');//出差时间1         
var d2 = $('#3');//出差日期2         
var t2 = $('#4');//出差时间2         
if (d1.val() == '' || t1.val() == '' || d2.val() == '' || t2.val() == '') return;         //转为时间         
var d1 = new Date(d1.replace(/-/g, '/') + ' ' + t1);         
var d2 = new Date(d2.replace(/-/g, '/') + ' ' + t2);          
var hour = Math.abs(d1.getTime() - d2.getTime()) / 1000 / 60 / 60;//小时          
$('#5').val(hour); //如果不是输入控件用html方法    
}); 
</script>
  • 写回答

6条回答 默认 最新

  • Go 旅城通票 2016-06-01 02:53
    关注

    前面4个日期都绑定blur事件然后同时获取4个日期对象,判断全部不为空时执行计算

        $('#d1,#t1,#d2,#t2').blur(function () {
            var d1 = $('#d1');//出差日期1
            var t1 = $('#t1');//出差时间1
            var d2 = $('#d2');//出差日期2
            var t2 = $('#t2');//出差时间2
            if (d1.val() == '' || t1.val() == '' || d2.val() == '' || t2.val() == '') return;
            //转为时间
            var d1 = new Date(d1.replace(/-/g, '/') + ' ' + t1);
            var d2 = new Date(d2.replace(/-/g, '/') + ' ' + t2);
    
            var hour = Math.abs(d1.getTime() - d2.getTime()) / 1000 / 60 / 60;//小时
    
            $('#出差用时ID').val(hour);//如果不是输入控件用html方法
        });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 lammps Gpu加速出错
  • ¥15 关于PLUS模型中kapaa值的问题
  • ¥15 关于博途V17进行仿真时无法建立连接问题
  • ¥15 请问下这个红框里面是什么文档或者记事本编辑器
  • ¥15 机器学习教材中的例题询问
  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥15 为什么安装HCL 和virtualbox之后没有找到VirtualBoxHost-OnlyNetWork?
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)