123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 |
- Date.prototype.format = function(formatStr) {
- var str = formatStr;
- var Week = ['日', '一', '二', '三', '四', '五', '六'];
- str = str.replace(/yyyy|YYYY/, this.getFullYear());
- str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
- str = str.replace(/MM/, this.getMonth() > 8 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
- str = str.replace(/M/g, this.getMonth() + 1);
- str = str.replace(/w|W/g, Week[this.getDay()]);
- str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
- str = str.replace(/d|D/g, this.getDate());
- str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
- str = str.replace(/h|H/g, this.getHours());
- str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
- str = str.replace(/m/g, this.getMinutes());
- str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
- str = str.replace(/s|S/g, this.getSeconds());
- return str;
- }
- function resetClientWidth() {
- var width = document.body.clientWidth
- if(width >= 1920) {
- $('html').css('font-size', width/10 + 'px')
- } else {
- $(document.body).css('overflow', 'auto')
- $('html').css('font-size', 192 + 'px')
- }
- }
- if(!window.noUse)resetClientWidth()
- function isMobilePhone(n) {
- var reg = /^1[34578]\d{9}$/
- return reg.test(n)
- }
- function isTelPhone(n) {
- var reg = /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/
- return reg.test(n)
- }
- function getDateFromNow(days) {
- if(!days) {
- return new Date().format("yyyy-MM-dd")
- }
- var now = new Date().getTime()
- var diff = 24 * 3600 * 1000 * days
- return new Date(now + diff).format("yyyy-MM-dd")
- }
- function GetRequest() {
- var url = location.search; //获取url中"?"符后的字串
- var theRequest = new Object();
- if(url.indexOf("?") != -1) {
- var str = url.substr(1);
- strs = str.split("&");
- for(var i = 0; i < strs.length; i++) {
- theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
- }
- }
- return theRequest;
- }
- //判断输入字符串是否为空或全是空格
- function isNull(str) {
- if(str == null) return true;
- if(str == "") return true;
- var regu = "^[ ]+$";
- var re = new RegExp(regu);
- var bb = re.test(str);
- return re.test(str);
- }
- /**
- * 获取本周、本季度、本月、上月的开端日期、停止日期
- */
- var now = new Date(); //当前日期
- var nowDayOfWeek = now.getDay(); //今天本周的第几天
- var nowDay = now.getDate(); //当前日
- var nowMonth = now.getMonth(); //当前月
- var nowYear = now.getYear(); //当前年
- nowYear += (nowYear < 2000) ? 1900 : 0; //
- //nowYear = nowYear-1;//由于2018年没数据,故查询2017年数据(测试)
- var lastMonthDate = new Date(); //上月日期
- lastMonthDate.setDate(1);
- lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
- var lastYear = lastMonthDate.getYear();
- var lastMonth = lastMonthDate.getMonth();
- //格局化日期:yyyy-MM-dd
- function formatDate(date) {
- var myyear = date.getFullYear();
- var mymonth = date.getMonth() + 1;
- var myweekday = date.getDate();
- if(mymonth < 10) {
- mymonth = "0" + mymonth;
- }
- if(myweekday < 10) {
- myweekday = "0" + myweekday;
- }
- return(myyear + "-" + mymonth + "-" + myweekday);
- }
- //获得某月的天数
- function getMonthDays(myMonth) {
- var monthStartDate = new Date(nowYear, myMonth, 1);
- var monthEndDate = new Date(nowYear, myMonth + 1, 1);
- var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
- return days;
- }
- //获得本季度的开端月份
- function getQuarterStartMonth() {
- var quarterStartMonth = 0;
- if(nowMonth < 3) {
- quarterStartMonth = 0;
- }
- if(2 < nowMonth && nowMonth < 6) {
- quarterStartMonth = 3;
- }
- if(5 < nowMonth && nowMonth < 9) {
- quarterStartMonth = 6;
- }
- if(nowMonth > 8) {
- quarterStartMonth = 9;
- }
- return quarterStartMonth;
- }
- //获得本周的开端日期
- function getWeekStartDate() {
- var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
- return formatDate(weekStartDate);
- }
- //获得本周的停止日期
- function getWeekEndDate() {
- var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
- return formatDate(weekEndDate);
- }
- //获得本月的开端日期
- function getMonthStartDate() {
- var monthStartDate = new Date(nowYear, nowMonth, 1);
- return formatDate(monthStartDate);
- }
- //获得本月的停止日期
- function getMonthEndDate() {
- var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
- return formatDate(monthEndDate);
- }
- //获得上月开端时候
- function getLastMonthStartDate() {
- var lastMonthStartDate = new Date(nowYear, lastMonth, 1);
- return formatDate(lastMonthStartDate);
- }
- //获得上月停止时候
- function getLastMonthEndDate() {
- var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));
- return formatDate(lastMonthEndDate);
- }
- //获得本季度的开端日期
- function getQuarterStartDate() {
- var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
- return formatDate(quarterStartDate);
- }
- //或的本季度的停止日期
- function getQuarterEndDate() {
- var quarterEndMonth = getQuarterStartMonth() + 2;
- var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
- return formatDate(quarterStartDate);
- }
- //获得本年的开始日期
- function getYearStartDate() {
- //本年第一天
- var currentYearFirstDate=new Date(nowYear,0,1);
- return formatDate(currentYearFirstDate);
- }
- //获得本年的结束日期
- function getYearEndDate() {
- //本年最后
- var currentYearLastDate=new Date(nowYear,11,31);
- return formatDate(currentYearLastDate);
- }
- //获得昨天日期
- function getYearEndDate() {
- return getYesterday(-1, '-');
- }
- //近半年开始时间
- function getHalfYearStartDate(){
- var date = new Date();
- date.setMonth(date.getMonth() - 6);
- var year = nowYear;
- var month = date.getMonth() + 1;
- month = (month < 10 ? "0" + month : month);
- return year.toString() + '-' + month.toString() + "-01";
- }
- //近半年结束时间
- function getHalfYearEndDate(){
- var date = new Date();
- var currentMonth = date.getMonth();
- var nextMonth = ++currentMonth;
- var nextMonthFirstDay = new Date(nowYear, nextMonth-1, 1);
- var oneDay = 1000 * 60 * 60 * 24;
- return(new Date(nextMonthFirstDay - oneDay)).format("yyyy-MM-dd");
- }
- //获取过去12个月时间,不包含本月
- function getLastYearMonthArray(){
- var dataArr = [],day,month;
- var data=new Date();
- var year=data.getFullYear()-1;
- data.setMonth(data.getMonth()+1)//获取到当前月份,设置月份
- for (var i = 0; i <=12; i++) {
- data.setMonth(data.getMonth()-1);//每次循环一次 月份值减1
- month = (data.getMonth()+1)<10?"0"+(data.getMonth()+1):data.getMonth()+1;
- if(i==12){//过去第12个月
- dataArr.push(data.getFullYear()+"-"+month+"-01")
- }else if(i==0){//本月
- var day = getDaysInMonth(data.getFullYear(),data.getMonth()+1);
- dataArr.push(data.getFullYear()+"-"+month+"-"+day)
- }else{
- dataArr.push(data.getFullYear()+"-"+month)
- }
- }
- return dataArr;
- }
- //根据年月实现获得当月天数
- function getDaysInMonth(year,month){
- month = parseInt(month,10); //parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制。
- var temp = new Date(year,month,0);
- return temp.getDate();
- }
- //获取昨天日期
- function getYesterday(num, str){
- var today = new Date();
- var nowTime = today.getTime();
- var ms = 24*3600*1000*num;
- today.setTime(parseInt(nowTime + ms));
- var oYear = nowYear;
- var oMoth = (today.getMonth() + 1).toString();
- if (oMoth.length <= 1) oMoth = '0' + oMoth;
- var oDay = today.getDate().toString();
- if (oDay.length <= 1) oDay = '0' + oDay;
- return oYear + str + oMoth + str + oDay;
- }
- //获取过去6个月的开始时间
- function getLastHalfMonthArray(dateStr){//格式:2018-07
- var dataArr = [],day,month,halfDate;
- var data=new Date();
- data.setFullYear(parseInt(dateStr.substring(0,4)));
- data.setMonth(parseInt(dateStr.substring(5,7)))//获取到当前月份,设置月份
- data.setMonth(data.getMonth()-6);//往前推半年,月份值减6
- month = (data.getMonth()+1)<10?"0"+(data.getMonth()+1):data.getMonth()+1;
- halfDate = data.getFullYear()+"-"+month+"-01"
- return halfDate;
- }
- //获取当前时间往前推3个季度
- function getThirdJiDate(year,month){
- year = Number(year);
- month = Number(month);
- var t = 11;
- if(month<=3){
- t = t - 3 + month;
- }else if(month>3 && month<=6){
- t = t - 6 + month;
- }else if(month>6 && month<=9){
- t = t - 9 + month;
- }else if(month>9 && month<=12){
- t = t - 12 + month;
- }
- if(t>=month){
- year = year - 1;
- month = 12 + month -t;
- }else{
- month = month - t;
- }
- var resDate;
- if(month<10){
- resDate = year +'-0'+month+'-01';
- }else{
- resDate = year +'-'+month+'-01';
- }
- console.log(resDate)
- return resDate;
- }
- //获取当前时间往前推4个季度
- function getFirthJiDate(year,month){
- year = Number(year);
- month = Number(month);
- var t = 14;
- if(month<=3){
- t = t - 3 + month;
- }else if(month>3 && month<=6){
- t = t - 6 + month;
- }else if(month>6 && month<=9){
- t = t - 9 + month;
- }else if(month>9 && month<=12){
- t = t - 12 + month;
- }
- if(t>=month){
- year = year - 1;
- month = 12 + month -t;
- }else{
- month = month - t;
- }
- var resDate;
- if(month<10){
- resDate = year +'-0'+month+'-01';
- }else{
- resDate = year +'-'+month+'-01';
- }
- console.log(resDate)
- return resDate;
- }
- Date.prototype.Format = function (fmt) { //author: meizz
- var o = {
- "M+": this.getMonth() + 1, //月份
- "d+": this.getDate(), //日
- "h+": this.getHours(), //小时
- "m+": this.getMinutes(), //分
- "s+": this.getSeconds(), //秒
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
- "S": this.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
- for (var k in o)
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) :
- (("00" + o[k]).substr(("" + o[k]).length)));
- return fmt;
- }
- function updateFontSize(){
- var width = document.body.clientWidth
- console.log(width)
- if(width >= 1920) {
- $('html').css('font-size', width/10 + 'px')
- } else {
- $(document.body).css('overflow', 'auto')
- $('html').css('font-size', width/7.7 + 'px')
- }
- }
- //获取地址栏参数
- function getUrlParms(name){
- var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if(r!=null)
- return unescape(r[2]);
- return null;
- }
|