Js 方法函数记录笔记
系统方法函数
// 编码: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 方法函数记录笔记相关推荐
- Vue.js的章节记录笔记(详细)
笔记 Vue.js的概念 下面是MVC和MVVM的关系图解 vue.js的组件化思想是什么? 注册组件的基本步骤 父组件和子组件 注册组件语法糖 模板的分离写法 组件可以访问Vue实例数据吗 为什么组 ...
- JS方法/函数重载的姿势
JavaScript不支持重载的语法,它没有重载所需要的函数签名. ECMAScript函数不能像传统意义上那样实现重载.而在其他语言(如 Java)中,可以为一个函数编写两个定义,只要这两个定义的签 ...
- php加密js函数输出,PHP加密函数 Javascript/Js 解密函数的实现方法
这篇文章主要为大家详细介绍了PHP加密函数 Javascript/Js 解密函数的实现方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 以下函数代码 ...
- js Date 函数方法
转载自 js Date 函数方法 var myDate = new Date();myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取 ...
- html js 回调函数,js中回调函数的学习笔记
回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考. 回调函数原理: 我现在出发,到了通知你" ...
- js数据类型 方法 函数
Js数据类型具体分析 1. 基础类型: string number boolean null undefined 2. 引用类型: object ==> jso ...
- js中函数对象的方法,原型方法apply、call、bind、toString、toLocaleString、valueOf
全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数教程全解 js中函数也是一种对象,因此有自己的原型对象,可以作为其他对象的属性,也可以作为其他函数的参数. 函数方法 [apply() ...
- layui外部引入_layui use 定义js外部引用函数的方法
layui.use 加载layui.define 定义的模块,当外部 js 或 onclick调用 use 内部函数时,需要在 use 中定义 window 函数供外部引用 ,如下: layui.us ...
- js中 函数和方法的区别:转载于黑泽君
js中 函数和方法的区别 在javascript中的解释为: 函数(function)是可以执行的javascript代码块,由javascript程序定义或javascript实现预定义.函数可以带 ...
最新文章
- shell脚本实现C程序日志分流和多Terminal显示
- rea t插件 vscode_推荐VSCode12个比较实用的插件
- 一文了解推荐系统中的图神经网络
- access 合并多行字符串_第20p,什么是字符串?Python中的str
- routersploit 路由器漏洞检测及利用框架
- 手机浏览器UserAgnet大全
- df 命令查看linux磁盘空间
- php bindresult,mysqli_stmt::bind_result
- 分页类实例 java
- python将姓王的都改成老王_Python老王视频习题答案
- react判断点击位置是否为组件内,实现点击外部触发组件内事件
- Linux下文件加密方法总结
- 详解Go语言的计时器
- python网络编程难点_python网络编程
- .NET配置文件的10大安全漏洞
- CC2430基础——外部中断分析
- glassfish java环境_GlassFish安装和配置详解
- hazy的leetcode刷题笔记(五)
- python初学入门操作
- win10鼠标右键问题,导致桌面刷新重启,资源管理器explorer重启,文件夹闪退,应用管理员模式无法运行等等
热门文章
- [Swift]LeetCode473. 火柴拼正方形 | Matchsticks to Square
- Visual C++2010学习版详细安装教程
- WTL 绘制 圆角对话框 自绘对话框
- 中国铜行业市场消费量调研及投资潜力预测分析报告2022-2027年
- 【网络】[::]:80是什么意思 / [::]是什么意思
- 一种双 SoC 智能座舱域控设计
- 关于网友0x1abin的MultiTimer
- python- 按指定列值筛选数据
- neo4j ogm_带有Hibernate OGM的NoSQL –第二部分:查询数据
- Could not load driver class org.neo4j.ogm.drivers.http.driver.HttpDriver(Neo4j连接用bolt还是http)