解决方案 »

  1.   

    选择日历框后你能取得两个一定格式的字符串
    通过new Date(yyyy,MM,H24,mi,ss)转换成时间对象后相减会获得一个毫秒差,将毫秒转换成时分秒试试
      

  2.   

    添加onpicked事件然后生成日期对象获取时间戳相减得到毫秒,在转换得到小时
    请假日期:<input class="Wdate" id="date1" type="text" onclick="WdatePicker({onpicked:Picked})"> 至<input class="Wdate" id="date2" type="text" onclick="WdatePicker({onpicked:Picked})"> <b id="bHour"></b>小时<br/>
    <script>
        function Picked() {
            var date1 = document.getElementById('date1').value, date2 = document.getElementById('date2').value;
            if (date1 != '' && date2 != '') {
                date1 = date1.split('-');
                date2 = date2.split('-');            date1 = new Date(parseInt(date1[0], 10), parseInt(date1[1], 10) - 1, parseInt(date1[2], 10));
                date2 = new Date(parseInt(date2[0], 10), parseInt(date2[1], 10) - 1, parseInt(date2[2], 10));            var totalms = Math.abs(date1.getTime() - date2.getTime());
                var hour = Math.floor(totalms / (1000 * 60 * 60));
                document.getElementById('bHour').innerHTML = hour;
            }
        }
    </script>