//增加时间选择判断提示时间是否超出标准时间

最近在做一个达标率(时间差)提示功能,整理如下
html代码
<input name="begTime" class="flat time_operation begTime"  type="text" value="">
<input name="endTime" class="flat time_operation endTime" type="text" value="">
js代码
使用到的组件为 datepicker 时间控件
var dates = $(".time_operation");
    dates.datepicker({
        //minDate:"2013-02-18",
        100,
        changeMonth:true,
        numberOfMonths:2,
        dateFormat:"yy-mm-dd",
        showSecond:true,
        //timeFormat:'hh:mm:ss',
        currentText:'今天',
        closeText:'关闭',
        prevText:'前一月',
        nextText:'后一月',
        dayNamesMin:['日', '一', '二', '三', '四', '五', '六'],
        currentText:'现在',
        monthNamesShort:['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
        showButtonPanel: true,
        hour: (new Date()).getHours(),
        onClose: function(dateText, inst) {
          ... your code ....
        },
        onSelect: function (selectedDateTime){
            var me = $(this);
            //判断时间 是否超出标准时间 并给出提示  alert(selectedDateTime);
            var name = me.attr('name');
            var id = me.parents('table').attr('id');
            checkTimeout(selectedDateTime,name,id);
        }
    });
 
时间选择结束后进行判断
//增加时间选择判断提示时间是否超出标准时间 
function checkTimeout(endTime, step, id) {
    var msg = '达标标准 < = ';
 
        if (step == 'endtime') {
            var beginTime = $('#' + id).find('.begtime').val();
            var rs = DateDiff(beginTime, endTime);
            msgAlert(rs, 1,'受理需求'+msg);
        }
}
function msgAlert(rs, num, msg) {
    if (rs > num) {
        alert(msg + num + ',当前操作为 ' + rs + ' 天')
    }
    if (rs < 0) {
        alert('时间选取不当,当前操作为 ' + rs + ' 天')
    }
}
//判断时间差
//sDate1和sDate2是2002-12-18格式
function DateDiff(sDate, eDate){
    var sArr = sDate.split("-");
    var eArr = eDate.split("-");
    var b = new Date(sArr[0],sArr[1]-1,sArr[2]);
    var e = new Date(eArr[0],eArr[1]-1,eArr[2]);
    var dif = e.getTime() - b.getTime();
    var day = Math.floor(dif/(1000 * 60 * 60 * 24));
    return day;
}
原文地址:https://www.cnblogs.com/holyes/p/523c79f29a3e3ae667a25f78bf540f85.html