更新记录
1.0.0(2023-11-13) 下载此版本
v1.0.1
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.5.4 app-vue app-nvue | √ | √ | √ | √ | √ | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
√ | √ | √ | √ | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
本插件涉及的调用方法全都绑定在对应的原型上,例如日期操作方法已绑定在Date原型上,每次使用无须引入,只需在全局引入一次即可
全局引入
main.js添加
import '@/uni_modules/lq-tool/js_sdk/index.js'
深拷贝
Object.deepClone() 说明:支持对象、数组(只要原型是Object都能调用)等调用,除了null和undefined其他类型都可调用
例如:
//对象
let data = {
a: {
b: [{
c: 1
}]
},
d: null,
e: function() {
let m = 'deepClone'
console.log(m)
},
f: undefined
}
let dataClone=data.deepClone()
console.log(dataClone, '对象深拷贝')
//数组
let array=[{a:1},{b:2}]
let arrayClone=array.deepClone()
console.log(arrayClone, '数组深拷贝')
//未知类型
let x;
let xClone=x&&x.deepClone()
console.log(xClone.deepClone(), '未知数据类型严谨调用方式')
Date(日期)
方法 | 说明 | 入参 | 默认值 | 可选值 |
---|---|---|---|---|
format | 日期格式化 | (timeFormat:String) | yyyy-MM-dd | yyyy,yyyy-MM,yyyy-MM-dd HH:mm,HH:mm,yyyy/MM/dd,yyyy.MM.dd等 |
last | 获取多少时间前的日期/时间 | (type,num,timeFormat) | num = 1,formatType='yyyy-MM-dd' | type可选值:year,month,day,hour,minute,second |
next | 获取多少时间后的日期/时间 | (type,num,timeFormat) | num = 1,formatType='yyyy-MM-dd' | type可选值:year,month,day,hour,minute,second |
getMonthDays | 获取某个月份天数 | — | -- | -- |
getWeek | 获取某天周几/星期几 | type | 0 | 0:周几 ,1:星期几 |
format参数说明:
格式支持: yyyy(年),MM(月),dd(日),HH(小时),mm(分钟),ss(秒)
1.以'-'分割: yyyy-MM ,yyyy-MM-dd ,yyyy-MM-dd HH,yyyy-MM-dd HH:mm,yyyy-MM-dd HH:mm:ss
2.以'/'分割: yyyy/MM ,yyyy/MM/dd ,yyyy/MM/dd HH,yyyy/MM/dd HH:mm,yyyy/MM/dd HH:mm:ss
3.以'.'分割: yyyy.MM ,yyyy.MM.dd ,yyyy.MM.dd HH,yyyy.MM.dd HH:mm,yyyy.MM.dd HH:mm:ss
last和next参数说明:
- @param type :上一个时间刻度类型
- @param num : 数量
- @param timeFormat : 时间格式 例如:new Date().last('month',3,'yyyy-MM-dd')//3个月前日期,相对今天 例如:new Date("2023-11-11").last('month',3,'yyyy-MM-dd')//3个月前日期,相对2023-11-11
日期使用示例
//日期格式化
console.log(new Date().format('yyyy-MM'), '今天的年月') //2023-11
console.log(new Date().format('yyyy-MM-dd'), '今天的日期 格式1')
console.log(new Date().format('yyyy-MM-dd HH:mm:ss'), '现在日期时间')
console.log(new Date().format('yyyy/MM/dd'), '今天的日期 格式2')
console.log(new Date().format('yyyy.MM.dd'), '今天的日期 格式3')
//过去日期计算
console.log(new Date().last(), '昨天日期')
console.log(new Date().last('day', 10), '10天前日期')
console.log(new Date().last('month', 3, 'yyyy-MM'), '3个月前年月')
console.log(new Date().last('hour', 10, 'yyyy-MM-dd HH:mm'), '10小时前时间')
console.log(new Date('2023-11-11').last('day', 10), '2023-11-11 10天前的日期')
//将来日期计算
console.log(new Date().next(), '明天日期')
console.log(new Date().next('month', 2), '2个月后日期')
console.log(new Date().next('day', 90, ), '90天后日期')
console.log(new Date().next('minute', 100, 'yyyy-MM-dd HH:mm'), '100分钟后时间')
console.log(new Date('2023-11-11').next('day', 10), '2023-11-11 10天后的日期')
//计算月份总共多少天
console.log(new Date().getMonthDays(), '当月天数')
console.log(new Date('2023-02-01').getMonthDays(), '2023年2月份天数')
//获取星期几/周几
console.log(new Date().getWeek(), '今天周几')
console.log(new Date().getWeek(1), '今天星期几')
console.log(new Date('2023-11-11').getWeek(), '2023-11-11周几')