//增加时间选择判断提示时间是否超出标准时间
最近在做一个达标率(时间差)提示功能,整理如下
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",
width: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;
}