• javascript常用(实用)工具类


    // 时间格式化
    const formatTime = date => { const year = new Date(date).getFullYear() const month = new Date(date).getMonth() + 1 const day = new Date(date).getDate() const hour = new Date(date).getHours() const minute = new Date(date).getMinutes() const second = new Date(date).getSeconds() return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') } const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n } /** * 用于post 参数格式转换 */ function json2Form(json) { var str = []; for (var p in json) { str.push(encodeURIComponent(p) + "=" + encodeURIComponent(json[p])); } return str.join("&"); } // 对象数组去重 Array.prototype.filter = function () { let emptyObj = {} //创建空对象,用于存放属性 let result = [] //结果数组,用于存放结果 for (let i = 0; i < this.length; i++) {//this指向调用该方法的数组 this[i] = JSON.stringify(this[i])//将对象解析为字符串便于比较 if (!emptyObj[this[i]]) {//以emptyObj是否存在该字符串为名的属性进行判断 emptyObj[this[i]] = 1 //将emptyObj的this[i]属性设为1,便于判断 result.push(JSON.parse(this[i]))//将字符串重新解析为对象 } } return result //返回结果 } // 价格过滤 function currency(value, currency, decimals) { const digitsRE = /(d{3})(?=d)/g value = parseFloat(value) if (!isFinite(value) || (!value && value !== 0)) return '' currency = currency != null ? currency : '$' decimals = decimals != null ? decimals : 2 var stringified = Math.abs(value).toFixed(decimals) var _int = decimals ? stringified.slice(0, -1 - decimals) : stringified var i = _int.length % 3 var head = i > 0 ? (_int.slice(0, i) + (_int.length > 3 ? ',' : '')) : '' var _float = decimals ? stringified.slice(-1 - decimals) : '' var sign = value < 0 ? '-' : '' return sign + currency + head + _int.slice(i).replace(digitsRE, '$1,') + _float } /** * 时间戳转化为年 月 日 时 分 秒 * number: 传入时间戳 * format:返回格式,支持自定义,但参数必须与formateArr里保持一致 */ function formatDatebox(value, parent) { if (value == null || value == '') { return ''; } var dt = parseToDate(value);// 关键代码,将那个长字符串的日期值转换成正常的JS日期格式 return dt.format(parent); // 这里用到一个javascript的Date类型的拓展方法,这个是自己添加的拓展方法,在后面的步骤3定义 } function parseToDate(value) { if (value == null || value == '') { return undefined; } var dt; if (value instanceof Date) { dt = value; } else { if (!isNaN(value)) { dt = new Date(value); } else if (value.indexOf('/Date') > -1) { value = value.replace(//Date(−?d+)//, '$1'); dt = new Date(); dt.setTime(value); } else if (value.indexOf('/') > -1) { dt = new Date(Date.parse(value.replace(/-/g, '/'))); } else { dt = new Date(value); } } return dt; } // 为Date类型拓展一个format方法,用于格式化日期 Date.prototype.format = function (format) // author: meizz { var o = { "M+": this.getMonth() + 1, // month "d+": this.getDate(), // day "h+": this.getHours(), // hour "m+": this.getMinutes(), // minute "s+": this.getSeconds(), // second "q+": Math.floor((this.getMonth() + 3) / 3), "S": this.getMilliseconds() // millisecond }; if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "") .substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); return format; }; //两日期相减获得天数 function num_data(startDate,endDate) { var end_date = new Date(endDate.replace(/-/g, "/")); var start_date = new Date(startDate.replace(/-/g, "/")); var days = end_date.getTime() - start_date.getTime(); var day = parseInt(days / (1000 * 60 * 60 * 24)); return day; } module.exports = { formatTime, json2Form, formatDatebox, num_data }

      

  • 相关阅读:
    redis五大基本类型---String
    记录LVS搭建,DR模式,永久生效
    zabbix5.0安装,配置邮件报警,钉钉报警
    在zabbix-server的web界面添加agent主机
    部署 zabbix的客户端 zabbix-agent
    Linux 系统查看服务器SN序列号以及服务器型号
    记录在Linux系统使用vsftpd服务
    软件工程第三次实验
    软件工程第二次实验
    软件工程第一次实验
  • 原文地址:https://www.cnblogs.com/zlfProgrammer/p/10107618.html
Copyright © 2020-2023  润新知