系统方法函数

// 编码:encodeURI("张童瑶")
// 结果:"%E5%BC%A0%E7%AB%A5%E7%91%B6"// 解码:decodeURI("%E5%BC%A0%E7%AB%A5%E7%91%B6")
// 结果:"张童瑶"// 对象转数组:JSON.stringify(obj)//子级调用父级方法函数
window.opener.父级方法名()

时间方法函数

获得指定月的开始结束日期

/*** 获得指定月的开始结束日期* 用法:getMonthStartEndDate("2020-01")* @param vars* @returns {Array}*/
function getMonthStartEndDate(vars){vars = vars.replace("-","");var array = [];if(vars!=null&&vars!=''){var nyYear=vars.slice(0,4);var nyMonth=vars.slice(4,vars.length);var firstDay = new Date(nyYear,nyMonth-1);var lastDay = new Date(new Date(nyYear,nyMonth).valueOf()-60*60*1000*24);function datasFormat(d){var datetime=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();return datetime;}array[0] = datasFormat(firstDay);array[1] = datasFormat(lastDay);}return array
};

获得上周开始结束日期

function getUpWeekStartEndDate() {//var now = new Date(2016,3,18) //根据指定日期,获取周的开始结束日期var now = new Date();var weekStartDate = new Date(now.getFullYear(),now.getMonth(),now.getDate() - now.getDay() - 6);var myyear = weekStartDate.getFullYear();var mymonth = weekStartDate.getMonth() + 1;var myweekday = weekStartDate.getDate();if (mymonth < 10) {mymonth = "0" + mymonth;}if (myweekday < 10) {myweekday = "0" + myweekday;}var array = [];array[0] = myyear + "-" + mymonth + "-" + myweekdayvar weekStartDate = new Date(now.getFullYear(),now.getMonth(),now.getDate() - now.getDay());var myyear = weekStartDate.getFullYear();var mymonth = weekStartDate.getMonth() + 1;var myweekday = weekStartDate.getDate();if (mymonth < 10) {mymonth = "0" + mymonth;}if (myweekday < 10) {myweekday = "0" + myweekday;}array[1] = myyear + "-" + mymonth + "-" + myweekdayreturn array;
}

根据开始结束日期获得中间所有天数

/*** 根据开始结束日期获得中间所有天数* 用法:*  1、byStartEndDateGetMiddleDate("2020-1-1","2020-1-5")*  2、byStartEndDateGetMiddleDate("2020-1","2020-5")*  3、byStartEndDateGetMiddleDate("2020","2022")* @param startTime 开始日期* @param endTime   结束日期* @returns {Array}*/
function byStartEndDateGetMiddleDay(startDate,endDate){var bd = new Date(startDate),be = new Date(endDate);var bd_time = bd.getTime(), be_time = be.getTime(),time_diff = be_time - bd_time;var d_arr = [];for(var i=0; i<= time_diff; i+=86400000){var ds = new Date(bd_time+i);d_arr.push(ds.getFullYear()+'-'+(ds.getMonth()+1)+'-'+ds.getDate()+'')}return d_arr;
}

获取从开始时间到结束时间中的所有月

/*** 获取从开始时间到结束时间中的所有月* 用法:*  1、byStartEndDateGetMiddleMonthDate("2020-1-1","2020-6-1")*  2、byStartEndDateGetMiddleMonthDate("2020-1","2020-6")* @param startDate* @param endDate* @returns {array}*/
function byStartEndDateGetMiddleMonth(startDate,endDate) {var d1 = startDate;var d2 = endDate;var dateArry = new Array();var s1 = d1.split("-");var s2 = d2.split("-");var mCount = 0;if (parseInt(s1[0]) < parseInt(s2[0])) {mCount = (parseInt(s2[0]) - parseInt(s1[0])) * 12 + parseInt(s2[1]) - parseInt(s1[1])+1;} else {mCount = parseInt(s2[1]) - parseInt(s1[1])+1;}if (mCount > 0) {var startM = parseInt(s1[1]);var startY = parseInt(s1[0]);for (var i = 0; i < mCount; i++) {if (startM < 12) {dateArry[i] = startY + "-" + (startM>9 ? startM : "0" + startM);startM += 1;} else {dateArry[i] = startY + "-" + (startM > 9 ? startM : "0" + startM);startM = 1;startY += 1;}}}return dateArry;
}

根据开始结束日期获取中间的所有年

/*** 根据开始结束日期获取中间的所有年* 用法:*  1、byStartEndDateGetMiddleYear("2020-1-1","2021-1-1")*  2、byStartEndDateGetMiddleYear("2020-1","2021-1")*  3、byStartEndDateGetMiddleYear("2020","2021")* @param startDate* @param endDate* @returns {any[]}*/
function byStartEndDateGetMiddleYear(startDate,endDate) {var d1 = startDate;var d2 = endDate;var dateArry = new Array();var s1 = d1.split("-");var s2 = d2.split("-");var mYearCount = parseInt(s2[0]) - parseInt(s1[0])+1;var startY = parseInt(s1[0]);for (var i = 0; i < mYearCount;i++) {dateArry[i] = startY;startY += 1;}return dateArry;
};

根据指定日期,获取星期几

/*** 根据指定日期,获取星期几* 用法:byDateGetWeek("2020-1-5")* @param dateString* @returns {string}*/
function byDateGetWeek(dateString) {var dateArray = dateString.split("-");date = new Date(dateArray[0], parseInt(dateArray[1] - 1), dateArray[2]);return "周" + "日一二三四五六".charAt(date.getDay());
};

获取年的开始日期和结束日期

/*** 获取年的开始日期和结束日期* @param vars* @returns {string}*/
function getYearStartEndDate(vars){var array = [];array[0] = vars+"-01-01";array[1] = vars+"-12-31";return array;
}

获得前几天后几天日期

/*** 获得前几天后几天日期* @param vars* @returns {string}*/
function getNextDate(date,day) {  var dd = new Date(date);dd.setDate(dd.getDate() + day);var y = dd.getFullYear();var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();return y + "-" + m + "-" + d;
};
getNextDate("2018-09-27",10)

Fri Dec 12 2014 08:00:00 GMT+0800日期转换格式

/*** Fri Dec 12 2014 08:00:00 GMT+0800日期转换格式* 用法:formateDate("Fri Dec 12 2014 08:00:00 GMT+0800")* @param str* @returns {string}*/
function formateDate(str){var formate = new Date(str);return formate.getFullYear() + '-' + (formate .getMonth() + 1) + '-' + formate .getDate() + ' ' + formate .getHours() + ':' + formate.getMinutes() + ':' + formate.getSeconds();
}

将时间数字,格式化转换成时分秒

注:抽时间把时间操作抽出作为另一篇文章,更多:https://blog.csdn.net/qq_33242126/article/details/79279322

function formatSeconds(value) {var secondTime = parseInt(value);// 秒var minuteTime = 0;// 分var hourTime = 0;// 小时if(secondTime > 60) {//如果秒数大于60,将秒数转换成整数//获取分钟,除以60取整数,得到整数分钟minuteTime = parseInt(secondTime / 60);//获取秒数,秒数取佘,得到整数秒数secondTime = parseInt(secondTime % 60);//如果分钟大于60,将分钟转换成小时if(minuteTime > 60) {//获取小时,获取分钟除以60,得到整数小时hourTime = parseInt(minuteTime / 60);//获取小时后取佘的分,获取分钟除以60取佘的分minuteTime = parseInt(minuteTime % 60);}}var result = "" + parseInt(secondTime) + "秒";if(minuteTime > 0) {result = "" + parseInt(minuteTime) + "分" + result;}if(hourTime > 0) {result = "" + parseInt(hourTime) + "小时" + result;}return result;}console.log(formatSeconds(10000002))

简单版

function showTime(val) {if (val < 60) {return val + "\t秒";} else {var min_total = Math.floor(val / 60); // 分钟var sec = Math.floor(val % 60); // 余秒if (min_total < 60) {return min_total + "\t分钟" + sec + "\t秒";} else {var hour_total = Math.floor(min_total / 60); // 小时数var min = Math.floor(min_total % 60); // 余分钟return hour_total + "\t小时" + min + "\t分钟" + sec + "\t秒";}}
}

处理单数日期

/*** 处理单数日期* 用法:formatSingularDate("2020-1-2")* 返回:2020-01-02* @param str* @returns {string}*/
function formatSingularDate(time){var array = time.split('-')var month = parseInt(array[1]);if(month <= 9){array[1] = "0" + month}var day = parseInt(array[2]);if(day <= 9){array[2] = "0" + day}return array[0]+"-"+array[1]+"-"+array[2]
}

js自带new Date()函数 详解

var gettime = new Date(); //创建获取当前时间函数
gettime.getYear(); //获取当前年份 (2位)
gettime.getFullYear(); //获取完整的年份 (4位)
gettime.getMonth(); //获取月份 (0-11月,0是1月)
gettime.getDate(); //获取当前日期 (1-31日)
gettime.getTime(); //获取当前时间  (从1970.1.1开始的毫秒数)
gettime.getDay(); //获取当前星期X (0-6,0是星期天)
gettime.getHours(); //获取当前小时数 (0-23)
gettime.getMinutes(); //获取当前分钟数 (0-59)
gettime.getSeconds(); //获取当前秒  (0-59)
gettime.getMilliseconds(); //获取当前毫秒数 (0-999)
gettime.toLocaleDateString(); //获取当前日期
gettime.toLocaleTimeString(); //获取当前时间
gettime.toLocalString(); //获取当前日期与时间 var gettime = new Date(2020,11,1); //创建2020年的时间对象函数var new_date = new Date(2020,11,1); //取当年当月中的第一天
(new Date(new_date.getTime()-1000*60*60*24)).getDate();//获取当月最后一天日期

时间操作的大杂烩

/*** 获取本周、本季度、本月、上月的开始日期、结束日期*/
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; //
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 getLastWeekStartDate() {var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7);return formatDate(weekStartDate);
}
//获得上周的结束日期
function getLastWeekEndDate() {var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1);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);
}

获得早上好、中午好、下午好、晚上好

/*** 获得早上好、中午好、下午好、晚上好* 用法:getTimeState()* @param str* @returns {string}*/
function getTimeState() {// 获取当前时间let timeNow = new Date();// 获取当前小时let hours = timeNow.getHours();// 设置默认文字let text = ``;// 判断当前时间段if (hours >= 0 && hours <= 10) {text = `早上好`;} else if (hours > 10 && hours <= 14) {text = `中午好`;} else if (hours > 14 && hours <= 18) {text = `下午好`;} else if (hours > 18 && hours <= 24) {text = `晚上好`;}//console.log(`hours >>>>>`, hours);//console.log(`text >>>>`, text);// 返回当前时间段对应的状态return text;
};

获得现在的时间

function now(){var now = new Date();var year = now.getFullYear(); //得到年份var month = now.getMonth()+1;//得到月份var date = now.getDate();//得到日期var hour= now.getHours();//得到小时数var minute= now.getMinutes();//得到分钟数var second= now.getSeconds();//得到秒数return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;}

获得周期时间类型

function getTime(n) {var now = new Date();var year = now.getFullYear();var month = now.getMonth() + 1;var day = now.getDay(); //返回星期几的某一天;n = day == 0 ? n + 6 : n + (day - 1)now.setDate(now.getDate() - n);date = now.getDate();var s = year + "-" + (month < 10 ? ('0' + month) : month) + "-" + (date < 10 ? ('0' + date) : date);return s;
}
//上周的开始时间
console.log(getTime(7));
//上周的结束时间
console.log(getTime(1));
//本周的开始时间
console.log(getTime(0));
//本周的结束时间
console.log(getTime(-6));
//下周的开始时间
console.log(getTime(-7));
//下周结束时间
console.log(getTime(-13));

其他函数

获得本页面地址栏参数

/*** 获得本页面地址栏参数* 用法:getUrlAddressParameter("name")* @param parameter* @returns {*}*/
function getUrlAddressParameter(parameter){var query = window.location.search.substring(1);var vars = query.split("&");for (var i=0;i<vars.length;i++) {var pair = vars[i].split("=");if(pair[0] == parameter){return pair[1];}}return null;
}

本页中弹出窗口

var iWidth = 1060;                          //弹出窗口的宽度;
var iHeight =700;                        //弹出窗口的高度;
var iTop = (window.screen.availHeight-30-iHeight)/2;       //获得窗口的垂直位置;
var iLeft = (window.screen.availWidth-10-iWidth)/2;           //获得窗口的水平位置;
openWin = window.open ("/toolsPackage/ztree?recID="+recID, "查看", "height=700,width=1060,resizable=1,top="+iTop+",left="+iLeft)

获得Guid

/*** 获得Guid* 用法:getGuid()* @returns {string}*/
function getGuid() {return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {var r = Math.random() * 16 | 0,v = c == 'x' ? r : (r & 0x3 | 0x8);return v.toString(16);});
}

根据json字段排序

/*** 根据json字段排序* 用法:var jsonStr = jsonStr.sort(up);* @param x* @param y* @returns {number}*/
//按照升序排列
function up(x,y){return y.COUNT-x.COUNT
}

将JSON内部key值转换大小写和首字母大写

/*** @param {Object} json* @param {Object} type: 默认不传 ==>全部小写;传1 ==>全部大写;传2 ==>首字母大写* 将json的key值进行大小写转换*/
function jsonKeysToCase(json,type){if(typeof json == 'object'){var tempJson = JSON.parse(JSON.stringify(json));toCase(tempJson);return tempJson;}else{return json;}function toCase(json){if(typeof json == 'object'){if(Array.isArray(json)){json.forEach(function(item){toCase(item);})}else{for (var key in json){var item = json[key];if(typeof item == 'object'){toCase(item);}delete(json[key]);switch (type){case 1://key值全部大写json[key.toLocaleUpperCase()] = item;  break;case 2://key值首字母大写,其余小写json[key.substring(0,1).toLocaleUpperCase() + key.substring(1).toLocaleLowerCase()] = item;  break;default://默认key值全部小写json[key.toLocaleLowerCase()] = item;  break;}}}}}
}

删除数组中某一值

function arrayRemove(arr, val) {for(var i = 0; i < arr.length; i++) {if(arr[i] == val) {arr.splice(i, 1);break;}}
}

另一种方法,但是这个必须放到最上面

Array.prototype.remove = function(val) {var index = this.indexOf(val);if (index > -1) {this.splice(index, 1);}
};

Js 方法函数记录笔记相关推荐

  1. Vue.js的章节记录笔记(详细)

    笔记 Vue.js的概念 下面是MVC和MVVM的关系图解 vue.js的组件化思想是什么? 注册组件的基本步骤 父组件和子组件 注册组件语法糖 模板的分离写法 组件可以访问Vue实例数据吗 为什么组 ...

  2. JS方法/函数重载的姿势

    JavaScript不支持重载的语法,它没有重载所需要的函数签名. ECMAScript函数不能像传统意义上那样实现重载.而在其他语言(如 Java)中,可以为一个函数编写两个定义,只要这两个定义的签 ...

  3. php加密js函数输出,PHP加密函数 Javascript/Js 解密函数的实现方法

    这篇文章主要为大家详细介绍了PHP加密函数 Javascript/Js 解密函数的实现方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 以下函数代码 ...

  4. js Date 函数方法

    转载自   js Date 函数方法 var myDate = new Date();myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取 ...

  5. html js 回调函数,js中回调函数的学习笔记

    回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考. 回调函数原理: 我现在出发,到了通知你" ...

  6. js数据类型 方法 函数

    Js数据类型具体分析 1.     基础类型:  string  number   boolean   null  undefined 2.     引用类型:  object ==>  jso ...

  7. js中函数对象的方法,原型方法apply、call、bind、toString、toLocaleString、valueOf

    全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数教程全解 js中函数也是一种对象,因此有自己的原型对象,可以作为其他对象的属性,也可以作为其他函数的参数. 函数方法 [apply() ...

  8. layui外部引入_layui use 定义js外部引用函数的方法

    layui.use 加载layui.define 定义的模块,当外部 js 或 onclick调用 use 内部函数时,需要在 use 中定义 window 函数供外部引用 ,如下: layui.us ...

  9. js中 函数和方法的区别:转载于黑泽君

    js中 函数和方法的区别 在javascript中的解释为: 函数(function)是可以执行的javascript代码块,由javascript程序定义或javascript实现预定义.函数可以带 ...

最新文章

  1. shell脚本实现C程序日志分流和多Terminal显示
  2. rea t插件 vscode_推荐VSCode12个比较实用的插件
  3. 一文了解推荐系统中的图神经网络
  4. access 合并多行字符串_第20p,什么是字符串?Python中的str
  5. routersploit 路由器漏洞检测及利用框架
  6. 手机浏览器UserAgnet大全
  7. df 命令查看linux磁盘空间
  8. php bindresult,mysqli_stmt::bind_result
  9. 分页类实例 java
  10. python将姓王的都改成老王_Python老王视频习题答案
  11. react判断点击位置是否为组件内,实现点击外部触发组件内事件
  12. Linux下文件加密方法总结
  13. 详解Go语言的计时器
  14. python网络编程难点_python网络编程
  15. .NET配置文件的10大安全漏洞
  16. CC2430基础——外部中断分析
  17. glassfish java环境_GlassFish安装和配置详解
  18. hazy的leetcode刷题笔记(五)
  19. python初学入门操作
  20. win10鼠标右键问题,导致桌面刷新重启,资源管理器explorer重启,文件夹闪退,应用管理员模式无法运行等等

热门文章

  1. [Swift]LeetCode473. 火柴拼正方形 | Matchsticks to Square
  2. Visual C++2010学习版详细安装教程
  3. WTL 绘制 圆角对话框 自绘对话框
  4. 中国铜行业市场消费量调研及投资潜力预测分析报告2022-2027年
  5. 【网络】[::]:80是什么意思 / [::]是什么意思
  6. 一种双 SoC 智能座舱域控设计
  7. 关于网友0x1abin的MultiTimer
  8. python- 按指定列值筛选数据
  9. neo4j ogm_带有Hibernate OGM的NoSQL –第二部分:查询数据
  10. Could not load driver class org.neo4j.ogm.drivers.http.driver.HttpDriver(Neo4j连接用bolt还是http)