陌然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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?