小程序常用的功能函数
2021/8/3 11:36:14
本文主要是介绍小程序常用的功能函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
一、日期转换补位
二、日期转换
三、日期转换-自定输出内容
四、Json数据转换为url字符串
五、url转为Json数据
六、通过时间戳计算倒计时
七、通过parseInt计算倒计器和Promise返回结束
八、清除两边空格
九、截取部分字符
十、单位转换:px转换为rpx
十一、单位转换:rpx转为px
一、日期转换补位
const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n }
二、日期转换
/** * 日期转换 * @param date 日期对象 * @param symbol 年月日分隔符号 */ const formatDate = (date, symbol) => { symbol = 'string'!==typeof symbol?'/':symbol; const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() return [year, month, day].map(formatNumber).join(symbol) + ' ' + [hour, minute, second].map(formatNumber).join(':') }
三、日期转换-自定输出内容
/** * 日期转换 * @param date 日期对象 * @param format 格式化文本 YYYY 年 MM 月 DD 日 HH 小时 ii 分钟 ss 秒 */ const formatDate = (date, format) => { format = 'undefined'===typeof symbol?'YYYY-MM-DD HH:ii:ss':format; format = format.replace(/YYYY/gi, date.getFullYear()); format = format.replace(/MM/gi, formatNumber(date.getMonth() + 1)); format = format.replace(/DD/gi, formatNumber(date.getDate())); format = format.replace(/HH/gi, formatNumber(date.getHours())); format = format.replace(/ii/gi, formatNumber(date.getMinutes())); format = format.replace(/ss/gi, formatNumber(date.getSeconds())); return format }
四、Json数据转换为url字符串
const json2url = () => { var _keys = Object.keys(json); var _urlArr = []; for(var i in _keys){ _urlArr.push(_keys[i]+'='+json[_keys[i]]); } return _urlArr.join("&"); }
五、url转为Json数据
const getUrlVars = (url) => { var hash; var myJson = {}; var hashes = url.split('&'); for (var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); myJson[hash[0]] = hash[1]; } return myJson; }
六、通过时间戳计算倒计时
/** * 倒计时功能 * @param _stamp 剩余时间戳 * @param _format 输出格式 */ const getLastTime = (_stamp, _format) => { _format = 'undefined'===typeof symbol?'DD日 HH:ii:ss':format; let _currentDate = new Date(), _endDate = new Date(_stamp), _cha = _endDate.getTime() - _currentDate.getTime(); if(_cha<=0){ return null; } var _day = Math.floor(_cha/86400); //计算剩余天数 var _hours = Math.floor(_cha%86400/3600); //计算剩余小时数 var _minutes = Math.floor(_cha%86400%3600/60); //计算剩余的分钟数 var _seconds = Math.floor(_cha%86400%3600%60); //计算剩余的秒数 // _format = _format.replace(/DD/gi, formatNumber(_day)); _format = _format.replace(/HH/gi, formatNumber(_hours)); _format = _format.replace(/ii/gi, formatNumber(_minutes)); _format = _format.replace(/ss/gi, formatNumber(_seconds)); return _format; }
七、通过parseInt计算倒计器和Promise返回结束
/** * 倒计时 * @param _date 日期对象 * @param _format 格式化文本 */ const clacLastTime = (_date, _format) => { _format = 'undefined'===typeof _format?'DD日 HH:ii:ss':_format; let _startStamp = new Date().getTime(), _endStamp = _date.getTime(), _cha = (_endStamp - _startStamp) / 1000, _resultStr = ''; var day = parseInt(_cha / 60 / 60 / 24, 10); //计算剩余天数 var hour = parseInt(_cha / 60 / 60 % 24, 10); //计算剩余的小时数 var minute = parseInt(_cha / 60 % 60, 10); //计算剩余的分钟数 var second = parseInt(_cha % 60, 10); //计算剩余的秒数 // _format = _format.replace(/DD/gi, formatNumber(_day)); _format = _format.replace(/HH/gi, formatNumber(_hours)); _format = _format.replace(/ii/gi, formatNumber(_minutes)); _format = _format.replace(/ss/gi, formatNumber(_seconds)); return new Promise((resolve, reject) => { if(_cha<0){ reject(); }else{ resolve(_format); } }); }
八、清除两边空格
/** * 清除两边空格 */ const trimStr = v => { return 'string' === typeof v ? v.replace(/(^\s+)|(\s+$)/g, "") : v; }
九、截取部分字符
/** * 截取字符串部分字符转换为*号 * @param value 被替换的字符串 * @param start 开始位置 * @param end 结束位置 * @param symbol 需替换成的字符符号 */ const truncateStr = (value, start, end, symbol) => { if('string'!==typeof value) throw 'Parameter value must be a string'; //检测字符串和范围有校性 if(!(value.length>start&&end>start)) return value; return value.split('').map((word, i) => { return i>=start&&i<=end?symbol:word }).join(''); }
十、单位转换:px转换为rpx
/** * px转rpx * @param {*} _val */ const px2rpx = _val => { let _sysInfo = wx.getSystemInfoSync(); return parseFloat((parseInt(_val) * 750 / _sysInfo['windowWidth']).toFixed(2)); }
十一、单位转换:rpx转为px
/** * rpx转为px * @param _val */ const rpx2px = _val => { let _sysInfo = wx.getSystemInfoSync(); return parseFloat((parseInt(_val) / 750 * _sysInfo['windowWidth']).toFixed(2)); }
这篇关于小程序常用的功能函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-13微信小程序如何封装接口域名?-icode9专业技术文章分享
- 2024-11-13如何在微信小程序中实现直传功能?-icode9专业技术文章分享
- 2024-11-13如何在小程序的地图组件中添加标记和文字?-icode9专业技术文章分享
- 2024-11-13在微信小程序的地图组件中如何实现自定义标记和气泡?-icode9专业技术文章分享
- 2024-11-01微信小程序教程:零基础入门到实战
- 2024-11-01微信小程序全栈教程:从入门到实践
- 2024-10-31微信小程序怎么实现关注公众号功能-icode9专业技术文章分享
- 2024-10-30微信小程序cover-view,支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序的cover-image支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序web-view怎么设置高度?-icode9专业技术文章分享