Appearance
日期格式兼容
- 封装常用的日期格式化方法
- 解决不同设备的兼容问题
useDate
使用dayjs的实例 官网
Parameters:
date: - 日期,兼容了Date对象,时间戳,字符串,dayjs实例fmt: -格式 YYYY-MM-DD HH:mm:ss
Examples:
ts
//默认当前时间,返回dayjs()实例,可以format,diff,subtract等方法
useDate().format('YYYY-MM-DD HH:mm:ss')
//指定时间戳
useDate(1709286300000).format('YYYY-MM-DD HH:mm:ss')
useDate(2024-03-02 00:00).minute()
useDate(new Date(2024, 2, 1)).add(7, 'day')dateFormat
给定日期转成特点格式字符串
Parameters:
date: - 日期fmt: -格式 YYYY-MM-DD HH:mm:ss
Examples:
ts
dateFormat(1709286300000,'YYYY-MM-DD')
dateFormat(2024-03-02 00:00,'YYYY-MM-DD')
dateFormat(new Date(2024, 2, 1),'YYYY-MM-DD HH:mm')minute
返回当前时间,默认到分钟的格式
Parameters:
date: - 日期fmt: - 默认格式 YYYY-MM-DD HH:mm
Examples:
ts
minute(1709286300000)
minute(2024-03-02 00:00)
minute(new Date(2024, 2, 1))dateMonthDays
返回日期对应月份天数
Parameters:
date: - 日期
Examples:
ts
// 3月份天数
let days = dateMonthDays('2024-03-02')getCurrDate
返回前后i天的日期字符串
Parameters:
i: - 0返回今天的日期、1返回明天的日期,2返回后天得日期,依次类推format: - 日期格式 默认:YYYY-MM-DD
Examples:
ts
//今天的日期
getCurrDate()
// 明天的日期
let tomorrow = getCurrDate(1)dateDiff
返回指定单位下两个日期时间之间的差异(date1 -date2)。
Parameters:
date1: -第一个时间date2: -第二个时间,默认是今天
Examples:
ts
dateDiff(1709286300000)
dateDiff(1709286300000, 1709286400000)durationFormat
根据传入的数值,返回格式化后的时间
Parameters:
duration: -传入的数值config: - 可选的配置项(默认 unit='ms',format=''HH小时mm分钟')
Examples:
ts
const m = durationFormat(61, {
unit: 'm',
})
const _date = durationFormat(61, {
unit: 'm',
format: 'HH:mm',
})
//format 也支持数组
const _dates = durationFormat(dateNum, {
unit: 'm',
format: ['HH', 'mm'],
})durationFormatNoZero
根据传入的数值,返回格式化后的去掉0时间(区别durationFormat)
00天1小时3分钟会被格式化为1小时3分钟1天1小时00分钟会被格式化为1天1小时
Parameters:
duration: -传入的数值config: - 可选的配置项(默认 unit='ms',format=''D天H小时m分钟')
Examples:
ts
const m = durationFormatNoZero(10000)
//1小时1分钟
const _date = durationFormatNoZero(61, {
unit: 'm',
})
// 10小时30分钟
const formatDate = durationFormatNoZero(10.5, {
unit: 'h',
})dateFromNow
根据指定日期距今天日期的时间差,展示不同格式。
- 时间差小于1小时,展示为
X分钟前 - 时间差-今天内,展示为
今天 HH:MM - 时间差-昨天的时间,展示为
昨天 HH:MM - 其他,展示为
YYYY/MM/DD
Parameters:
date: -指定日期config: - 可选的配置项minuteAgo: '${m}分钟前',today: '今天 ${HH:mm}',yesterday: '昨天 ${HH:mm}',other: '${YYYY/MM/DD}',future: '${YYYY/MM/DD}'
Examples:
ts
// 默认不需要带参数
dateFromNow('2024-03-02 00:00')
dateFromNow('2024-03-02 00:00', { minuteAgo: '${m} 分钟前' })
dateFromNow('2024-03-02 00:00', { other: '${YYYY - MM - DD}' })