//时间范围插件配置 var locale = { "format": 'YYYY-MM-DD', //HH:MM:SS "separator": " - ", // "applyLabel": "确定", "cancelLabel": "取消", "fromLabel": "起始时间", "toLabel": "结束时间'", "customRangeLabel": "自定义", "weekLabel": "W", "daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"], //不写会变成英文 "monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], //不写会变成英文 "firstDay": 1 }; //获取昨天时间 function yesterdayAry() { return moment().subtract('days', 1).startOf('day').format('YYYY-MM-DD') + " - " + moment().subtract('days', 1).endOf('day').format('YYYY-MM-DD'); } //获取当前时间几天前的 function getDay(day) { var today = new Date(); var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day; today.setTime(targetday_milliseconds); //注意,这行是关键代码 var tYear = today.getFullYear(); var tMonth = today.getMonth(); var tDate = today.getDate(); tMonth = doHandleMonth(tMonth + 1); tDate = doHandleMonth(tDate); return tYear + "-" + tMonth + "-" + tDate; } function doHandleMonth(month) { var m = month; if (month.toString().length == 1) { m = "0" + month; } return m; } function sevenDaysAgo() { return getDay(-6) + " - " + getDay(0); } function setSevenDaysAgo(elm) { $(elm).val(getDay(-6) + " - " + getDay(0)) } //比较两个日期中间相隔了多少天,传入的格式为2016-05-12,可以只传一个参数 function compareDate(d1, d2) { //d1为更远之前的时间,d2为较新的时间 var s1 = new Date(d1.replace(/-/g, "/")); var now = new Date(); //当前日期 //如果有传入d2 if (d2) { // console.log("有传入第二个参数"); var s2 = new Date(d2.replace(/-/g, "/")); var days = s2.getTime() - s1.getTime(); } else { var days = now.getTime() - s1.getTime(); } var HowManyDays = parseInt(days / (1000 * 60 * 60 * 24)); return HowManyDays } //将时间范围分隔出来,赋值给start_date和end_date function splitDate(range, mark) { return range.split(mark) } //获取指定年分下,指定月份有几天 function GetDateCount(year, month) { if (month > 12 || month < 1) { alert("月份输入有误"); return false } var d = new Date(year, month, 0); return d.getDate(); } //获取指定年分下,指定月份有几天,并返回对应天数的数组 function GetDateCountAry(year, month) { if (month > 12 || month < 1) { alert("月份输入有误"); return false } var d = new Date(year, month, 0); var arr = []; for (var i = 1; i <= d.getDate(); i++) { arr.push(i); } return arr; } //这里参数两个和三个的情况,是最大值和最小值是否都有传值,count个数是都要传的 function randomNum(minNum, maxNum, count) { switch (arguments.length) { case 2: var arr = []; for (var i = 0; i < count; i++) { var random = parseInt(Math.random() * minNum + 1, 10); arr.push(random); } return arr; break; case 3: var arr = []; for (var i = 0; i < count; i++) { var random = parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10); arr.push(random); } return arr; break; default: return 0; break; } } function getLastDay(year, month) { var new_year = year; //取当前的年份 var new_month = month++; //取下一个月的第一天,方便计算(最后一天不固定) if (month > 12) { //如果当前大于12月,则年份转到下一年 new_month -= 12; //月份减 new_year++; //年份增 } var new_date = new Date(new_year, new_month, 1); //取当年当月中的第一天 return (new Date(new_date.getTime() - 1000 * 60 * 60 * 24)).getDate(); //获取当月最后一天日期 } //时间戳转换 function format(timeStamp) { var time = new Date(parseInt(timeStamp)); var y = time.getFullYear(); var m = (time.getMonth() + 1) < 10 ? '0' + (time.getMonth() + 1) : (time.getMonth() + 1); var d = time.getDate() < 10 ? '0' + time.getDate() : time.getDate(); var h = time.getHours() < 10 ? '0' + time.getHours() : time.getHours(); // var min = time.getMinutes() < 10 ? '0' + time.getMinutes() : time.getMinutes(); // var s = time.getSeconds() < 10 ? '0' + time.getSeconds() : time.getSeconds(); // return y + '-' + m + '-' + d + ' ' + h + ':' + min + ':' + s; return y + '-' + m + '-' + d; } //将key不是text的数据改为text function textFormat(param) { var format = $.map(param, function (obj) { obj.text = obj.text || obj.name; // replace name with the property used for the text return obj; }); return format; } function objTextFormat(param) { var arr = [] var keyMap = { "name": "text" }; for (var key in param) { var newKey = keyMap[key]; if (newKey) { param[newKey] = param[key]; delete param[key]; } } arr.push(param) return arr } function getOption(data) { var str = []; data.forEach(function (element) { str.push(''); }); return str.join(""); } function removerLastStr(str) { if (Object.prototype.toString.call(str) == "[object String]") { var newStr = str.substring(0, str.length - 1); return newStr } else { alert("请传入字符串"); return false } } //获取全数字数组(可以是字符串类型,也可以是数值类型)的平均值 function getAva(paramAry) { if (Object.prototype.toString.call(paramAry) == "[object Array]") { var sum = 0; for (var i = 0; i < paramAry.length; i++) { sum += parseFloat(paramAry[i]); } var ava = sum / paramAry.length; return ava } else { alert("请传入数组"); return false } } //获取%号前的数值 function getNumber(str, separate) { if (str.length && separate.length) { var ary = str.split(separate); //将保留以为小数的字符串转为数值 var num = Math.round(ary[0] * 10) / 10; return num } else { return false } } //比较日期相隔多少天 function disparityDay(prevDay, latestDay) { var s1 = new Date(prevDay.replace(/-/g, "/")); var s2 = new Date(latestDay.replace(/-/g, "/")); var days = s2.getTime() - s1.getTime(); var apart = parseInt(days / (1000 * 60 * 60 * 24)); return apart } function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate; return currentdate; } //截取格式化后的时间 后半部分 function InterceptStr(str) { var ipos = str.indexOf(" "); var str1 = str.substring(0, ipos); //获取空格前的部分 var str2 = str.substring(ipos, str.length); //取后部分 return removePosStr(str2, 3).trim(); } function removePosStr(str, pos) { var num = parseFloat(pos); var s1 = str.substring(0, str.length - num); return s1; } //获取最新的游戏 function ajaxGetLastGame(parmUrl, whichKind) { $.ajax({ url: parmUrl, type: "GET", async: false, dataType: "json", headers: { "X-Requested-With": "xmlhttprequest" }, success: function (res) { if (res.code == 1) { // localStorage.setItem("lastGame", res.data.id); var gameSelectBox = $('.gameSelect').select2({ placeholder: "请选择游戏", // 空值提示内容,选项值为 null allowClear: true, //是否允许清空选中 width: '170px', language: "zh-CN", data: objTextFormat(res.data), //如果key不是id和text,则进行转换 }); // whichGame = $(".gameSelect").select2("val"); // localStorage.setItem("lastGame", $(".gameSelect").select2("val")); localStorage.setItem(whichKind, $(".gameSelect").select2("val")); // console.log(localStorage.getItem(whichKind)); // if (localStorage.getItem("whichGame")) { // gameSelectBox.val(localStorage.getItem("whichGame")).trigger("change"); // } else if (localStorage.getItem("whichGame") == null) { // gameSelectBox.val(localStorage.getItem("lastGame")).trigger("change"); // } localStorage.setItem(whichKind + "Text", $(".gameSelect").select2("data")[0].text); // whichGameText=$(".gameSelect").select2("data")[0].text // localStorage.setItem("whichGameText", $(".gameSelect").select2("data")[0].text) } } }) } // AppLastGame // AppLastGameText // JHLastGame // JHLastGameText //模糊搜索渠道和游戏 function ajaxGameAndChannelList(gameUrl, channelUrl, whichOne) { var gameSelectBox = $('.gameSelect').select2({ placeholder: "请选择游戏", // 空值提示内容,选项值为 null allowClear: true, //是否允许清空选中 ajax: { url: gameUrl, type: "POST", dataType: 'json', data: function (params) { var query = { name: params.term, } return query; }, processResults: function (data) { return { results: textFormat(data.data) }; }, cache: true } }); // gameSelectBox.val(localStorage.getItem("lastGame")).trigger("change"); // localStorage.setItem("whichGameText", $(".gameSelect").select2("data")[0].text) // whichGameText=$(".gameSelect").select2("data")[0].text; /* whichGame,whichGameText whichAppGame,whichAppGameText whichJHGame,whichJHGameText */ //初始化后如果存在这个缓存则赋值 if (localStorage.getItem(whichOne)) { $('.gameSelect').html(""); } $('.channelSelect').select2({ placeholder: "请选择渠道", // 空值提示内容,选项值为 null allowClear: true, //是否允许清空选中 ajax: { url: channelUrl, type: "POST", dataType: 'json', data: function (params) { var query = { name: params.term, } return query; }, processResults: function (data) { return { results: textFormat(data.data) }; }, cache: true } }); // $(".channelSelect").prepend(""); } //聚合用按需搜索请求渠道 function ajaxJHGame(gameUrl, whichOne) { var gameSelectBox = $('.gameSelect').select2({ placeholder: "请选择游戏", // 空值提示内容,选项值为 null allowClear: true, //是否允许清空选中 ajax: { url: gameUrl, type: "POST", dataType: 'json', data: function (params) { var query = { name: params.term, } return query; }, processResults: function (data) { return { results: textFormat(data.data) }; }, cache: true } }); //初始化后如果存在这个缓存则赋值 if (localStorage.getItem(whichOne)) { $('.gameSelect').html(""); } } //聚合用一次性请求全部渠道 function ajaxJHChannel(paramUrl) { $.ajax({ url: paramUrl, type: "GET", async: false, dataType: "json", headers: { "X-Requested-With": "xmlhttprequest" }, success: function (res) { // console.log(res.data); // console.log(textFormat(res.data)); $('.channelSelect').select2({ placeholder: "请选择渠道", // 空值提示内容,选项值为 null allowClear: true, //是否允许清空选中 width: '170px', language: "zh-CN", data: textFormat(res.data), //如果key不是id和text,则进行转换 }); }, error:function(){ } }) } //获取当前时间 function getNow() { var timeStamp = new Date().getTime(); var currentDate = new Date(); var yy = currentDate.getFullYear(); var mon = (currentDate.getMonth() + 1) < 10 ? '0' + (currentDate.getMonth() + 1) : (currentDate.getMonth() + 1); var dd = currentDate.getDate() < 10 ? '0' + currentDate.getDate() : currentDate.getDate(); var hh = currentDate.getHours() < 10 ? '0' + currentDate.getHours() : currentDate.getHours(); var min = currentDate.getMinutes() < 10 ? '0' + currentDate.getMinutes() : currentDate.getMinutes(); var ss = currentDate.getSeconds() < 10 ? '0' + currentDate.getSeconds() : currentDate.getSeconds(); return yy + '-' + mon + '-' + dd + ' ' + hh + ':' + min + ':' + ss; } function getNowYMD() { var timeStamp = new Date().getTime(); var currentDate = new Date(); var yy = currentDate.getFullYear(); var mon = (currentDate.getMonth() + 1) < 10 ? '0' + (currentDate.getMonth() + 1) : (currentDate.getMonth() + 1); var dd = currentDate.getDate() < 10 ? '0' + currentDate.getDate() : currentDate.getDate(); var hh = currentDate.getHours() < 10 ? '0' + currentDate.getHours() : currentDate.getHours(); var min = currentDate.getMinutes() < 10 ? '0' + currentDate.getMinutes() : currentDate.getMinutes(); var ss = currentDate.getSeconds() < 10 ? '0' + currentDate.getSeconds() : currentDate.getSeconds(); return yy + '-' + mon + '-' + dd; } function getNowHourMin() { var currentDate = new Date(); var hh = currentDate.getHours() < 10 ? '0' + currentDate.getHours() : currentDate.getHours(); var min = currentDate.getMinutes() < 10 ? '0' + currentDate.getMinutes() : currentDate.getMinutes(); return hh + ':' + min; } function SeparateHourStr(str) { var ipos = str.indexOf(":"); var hh = str.substring(0, ipos); //获取空格前的部分 var temp = str.substring(ipos, str.length); //取后部分 var min = temp.substring(1, temp.length) return hh } function SeparateMinStr(str) { var ipos = str.indexOf(":"); var hh = str.substring(0, ipos); //获取空格前的部分 var temp = str.substring(ipos, str.length); //取后部分 var min = temp.substring(1, temp.length) return min } //时间戳格式化 function formatTimeStamp(timeStamp) { var time = new Date(parseInt(timeStamp)); var y = time.getFullYear(); var m = (time.getMonth() + 1) < 10 ? '0' + (time.getMonth() + 1) : (time.getMonth() + 1); var d = time.getDate() < 10 ? '0' + time.getDate() : time.getDate(); var h = time.getHours() < 10 ? '0' + time.getHours() : time.getHours(); var min = time.getMinutes() < 10 ? '0' + time.getMinutes() : time.getMinutes(); var s = time.getSeconds() < 10 ? '0' + time.getSeconds() : time.getSeconds(); return y + '-' + m + '-' + d; } //标准时间格式化 function standardTimeformat(standard) { var y = standard.getFullYear(); var m = (standard.getMonth() + 1) < 10 ? '0' + (standard.getMonth() + 1) : (standard.getMonth() + 1); var d = standard.getDate() < 10 ? '0' + standard.getDate() : standard.getDate(); var h = standard.getHours() < 10 ? '0' + standard.getHours() : standard.getHours(); var min = standard.getMinutes() < 10 ? '0' + standard.getMinutes() : standard.getMinutes(); var s = standard.getSeconds() < 10 ? '0' + standard.getSeconds() : standard.getSeconds(); return y + '-' + m + '-' + d; } //昨天 function yesterday() { var day = new Date(); day.setTime(day.getTime() - 24 * 60 * 60 * 1000); //24小时,60分钟,60秒,再转为毫秒 var yy = day.getFullYear(); var mm = (day.getMonth() + 1) < 10 ? '0' + (day.getMonth() + 1) : (day.getMonth() + 1); var dd = day.getDate() < 10 ? '0' + day.getDate() : day.getDate(); var yesterday = yy + "-" + mm + "-" + dd; return yesterday } //本周 function getCurrentWeek() { //起止日期数组 var startStop = new Array(); //获取当前时间 var currentDate = new Date(); //返回date是一周中的某一天 var week = currentDate.getDay(); //返回date是一个月中的某一天 var month = currentDate.getDate(); //一天的毫秒数 var millisecond = 1000 * 60 * 60 * 24; //减去的天数 var minusDay = week != 0 ? week - 1 : 6; //alert(minusDay); //本周 周一 var mondayStandard = new Date(currentDate.getTime() - (minusDay * millisecond)); //本周 周日 var sundayStandard = new Date(mondayStandard.getTime() + (6 * millisecond)); //添加本周时间 startStop.push(standardTimeformat(mondayStandard)); //本周起始时间 //添加本周最后一天时间 startStop.push(standardTimeformat(sundayStandard)); //本周终止时间 //返回 return startStop; }; //上周 function getPreviousWeek() { //起止日期数组 var startStop = new Array(); //获取当前时间 var currentDate = new Date(); //返回date是一周中的某一天 var week = currentDate.getDay(); //返回date是一个月中的某一天 // var month = currentDate.getDate(); //一天的毫秒数 var millisecond = 1000 * 60 * 60 * 24; //减去的天数 var minusDay = week != 0 ? week - 1 : 6; //获得当前周的第一天 var currentWeekDayOne = new Date(currentDate.getTime() - (millisecond * minusDay)); //上周最后一天即本周开始的前一天 var priorWeekLastDay = new Date(currentWeekDayOne.getTime() - millisecond); //上周的第一天 var priorWeekFirstDay = new Date(priorWeekLastDay.getTime() - (millisecond * 6)); var month1 = (priorWeekFirstDay.getMonth() + 1) < 10 ? "0" + (priorWeekFirstDay.getMonth() + 1) : ( priorWeekFirstDay.getMonth() + 1); var date1 = priorWeekFirstDay.getDate() < 10 ? "0" + priorWeekFirstDay.getDate() : priorWeekFirstDay.getDate(); var priorWeekFirstDay_Format = priorWeekFirstDay.getFullYear() + "-" + month1 + "-" + date1 var month2 = (priorWeekLastDay.getMonth() + 1) < 10 ? "0" + (priorWeekLastDay.getMonth() + 1) : ( priorWeekLastDay.getMonth() + 1); var date2 = priorWeekLastDay.getDate() < 10 ? "0" + priorWeekLastDay.getDate() : priorWeekLastDay.getDate(); var priorWeekLastDay_Format = priorWeekLastDay.getFullYear() + "-" + month2 + "-" + date2; //添加至数组 startStop.push(priorWeekFirstDay_Format); startStop.push(priorWeekLastDay_Format); return startStop; }; // 获取当前月的最第一天 function getCurrentMonthFirst() { //标准时间 var date = new Date(); date.setDate(1); var y = date.getFullYear(); var m = (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1); var d = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); var min = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); return y + '-' + m + '-' + d; } // 获取当前月的最后一天 function getCurrentMonthLast() { var date = new Date(); var currentMonth = date.getMonth(); var nextMonth = ++currentMonth; var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1); var oneDay = 1000 * 60 * 60 * 24; var timeStamp=nextMonthFirstDay - oneDay; var standard=new Date(timeStamp); var y = standard.getFullYear(); var m = (standard.getMonth() + 1) < 10 ? '0' + (standard.getMonth() + 1) : (standard.getMonth() + 1); var d = standard.getDate() < 10 ? '0' + standard.getDate() : standard.getDate(); var h = standard.getHours() < 10 ? '0' + standard.getHours() : standard.getHours(); var min = standard.getMinutes() < 10 ? '0' + standard.getMinutes() : standard.getMinutes(); var s = standard.getSeconds() < 10 ? '0' + standard.getSeconds() : standard.getSeconds(); return y + '-' + m + '-' + d; } //上月 function getLastMonth() { var nowdays = new Date(); var year = nowdays.getFullYear(); var month = nowdays.getMonth(); if (month == 0) { month = 12; year = year - 1; } if (month < 10) { month = "0" + month; } var firstDay = year + "-" + month + "-" + "01"; //上个月的第一天 var myDate = new Date(year, month, 0); var lastDay = year + "-" + month + "-" + myDate.getDate(); //上个月的最后一天 return [firstDay, lastDay] }