var timeobj = {};
timeobj.max = ''; // 用于记录,结束框,最大值
timeobj.min = ''; // 用于记录,结束框,最小值
timeobj.stime = ''; //用于记录开始的时间
timeobj.etime = '';//开始时间,最大限度为当天,该值初始化后,不可修改
/**
* 出入年月日,返回该月份的最后一天
* @param time
* @returns {string}
* @constructor
*/
function TimeInit(time) {
var TimeArr = time.split('-');
if (TimeArr[1] == 2) {
TimeArr[2] = ((parseInt(TimeArr[0]) % 4 == 0 && n % 100 != 0) || (parseInt(TimeArr[0]) % 100 == 0 && parseInt(TimeArr[0]) % 400 == 0)) ? "29" : "28"
} else if (TimeArr[1] <= 7) {
TimeArr[2] = parseInt(TimeArr[1]) % 2 == 1 ? "31" : "30";
} else {
TimeArr[2] = parseInt(TimeArr[1]) % 2 == 1 ? "30" : "31";
}
return TimeArr.join('-');
}
$(function () {
// 默认显示本月初,至今日
Hsjcs.ChooseTime({
'type' : 'ToDay',
'callback': function (data) {
var s = data.StartTime.split('-');
s[2] = '01';
timeobj.min = s.join('-');
timeobj.max = data.StartTime;
timeobj.stime = s.join('-');
timeobj.etime = data.StartTime;
timeobj.etimeUTC = data.UTC_StartTime;
$('#OM_s').val(s.join('-'));
$('#OM_e').val(data.StartTime);
}
});
// 开始时间段激活
$("#OM_s").click(function () {
var obj = {
elem : '#OM_s'
,
show : true //直接显示
,
closeStop : '#OM_s' //这里代表的意思是:点击 test1 所在元素阻止关闭事件冒泡。如果不设定,则无法弹出控件
,
showBottom: false
,
done : function (value, date) {
var a = timeobj.stime.split('-');
a[2] = '01';
var b = value.split('-');
b[2] = '01';
// 判断是否与默认值为同一个月份
if (a.join('-') != b.join('-')) {
// 转换时间戳
var c = value.split('-');
c = (Date.UTC(c[0], (c[1] - 1), c[2], 0, 0, 0) / 1000) - 28800;
// 判断是否等于今日
if (c == timeobj.etimeUTC) {
// 结束切换为今日
$("#OM_e").val(timeobj.etime);
// 保存,结束时间的最大值
timeobj.max = timeobj.etime;
} else {
var a = value.split('-');
a[2] = '01';
var b = timeobj.etime.split('-');
b[2] = '01';
// 判断是否与今日为同一个年月
if (a.join('-') == b.join('-')) {
// 结束切换为今日
$("#OM_e").val(timeobj.etime);
// 保存,结束时间的最大值
timeobj.max = timeobj.etime;
}else {
// 切换为当前月,最后一天
$("#OM_e").val(TimeInit(value));
// 保存,结束时间的最大值
timeobj.max = TimeInit(value);
}
}
}
// 保存选择的值
timeobj.stime = value;
// 保存,结束时间的最小值
timeobj.min = value;
console.log('开始:'+value)
}
};
// 开始时间,最大限度为当天
obj.max = timeobj.etime;
laydate.render(obj);
});
// 结束时间段激活
$("#OM_e").click(function () {
var obj = {
elem : '#OM_e'
,
show : true //直接显示
,
closeStop : '#OM_e' //这里代表的意思是:点击 test1 所在元素阻止关闭事件冒泡。如果不设定,则无法弹出控件
,
showBottom: false
,
done : function (value, date) {
console.log('结束:'+value);
}
};
obj.min = timeobj.min;
obj.max = timeobj.max;
laydate.render(obj);
});
转载于:https://my.oschina.net/u/3756690/blog/1826220