moment支持number类型直接转换为时间对象,dayjs必须用string类型
获取当前时间的 年月日 时分秒 毫秒 时间戳
dayjs().get('year')
dayjs().get('month') + 1
dayjs().get('date')
dayjs().get('hour')
dayjs().get('minute')
dayjs().get('second')
dayjs().get('millisecond')
// 新建一个时间对象
dayjs().set('year',2000).set('month',7).set('date',10).set('hour',5).set('minute',20).set('second',13).set('millisecond',14)
时间类型判断
dayjs.isDayjs(dayjs()) // 判断是否是时间类型,与 dayjs() instanceof dayjs 相同功能
格式化或类型转换
dayjs('2022-12-21').toDate() // 国标时间
dayjs('2022-12-21').toJSON() // JSON
dayjs('2022-12-21').toString() // 字符串
dayjs('2022-12-21').format('YYYY-MM-DD') // Date转字符串,格式化
dayjs('2022-12-21').unix() // 字符串转秒时间戳
dayjs('2022-12-21').valueOf() // 字符串转毫秒时间戳
dayjs('2022-12-21') // 字符串转Date
dayjs(1671552000) // 时间戳转Date
dayjs.unix(1671552000).format('YYYY-MM-DD') // 毫秒时间戳转字符串
dayjs(1671552000).format('YYYY-MM-DD') // 秒时间戳转字符串
获取几个时间的最大或最小时间
import dayjs from 'dayjs'
import minMax from 'dayjs/plugin/minMax'
dayjs.extend(minMax)
dayjs.max(dayjs(), dayjs('2018-01-01'), dayjs('2019-01-01'))
dayjs.min([dayjs(), dayjs('2018-01-01'), dayjs('2019-01-01')])
获取两个时间的时间差
// 我已经在这个虚妄的世界上留存了 22年 273个月 8313天 199512个小时了
dayjs('2023-04-14').diff('2000-07-10', 'year') // 22年
dayjs('2023-04-14').diff('2000-07-10', 'month') // 273月
dayjs('2023-04-14').diff('2000-07-10', 'day') // 8313天
dayjs('2023-04-14').diff('2000-07-10', 'hours') // 199512小时
添加,减少,开始,结束
dayjs('2022-12-21').add(7, 'day').format('YYYY-MM-DD') // 加7天 2022-12-28
dayjs('2022-12-21').add(2, 'week').format('YYYY-MM-DD') // 加2周 2023-01-04
dayjs('2022-12-21').subtract(1, 'month').format('YYYY-MM-DD') // 减1个月,2022-11-21
dayjs('2022-12-21').startOf('year').format('YYYY-MM-DD') // 一年的开始 2022-01-01
dayjs('2022-12-21').endOf('month').format('YYYY-MM-DD') // 一个月的结束 2022-12-31
查询
import isSameOrBefore from 'dayjs/plugin/isSameOrBefore'
import isSameOrAfter from 'dayjs/plugin/isSameOrAfter'
import isBetween from 'dayjs/plugin/isBetween'
import isLeapYear from 'dayjs/plugin/isLeapYear'
dayjs.extend(isSameOrBefore)
dayjs.extend(isSameOrAfter)
dayjs.extend(isBetween)
dayjs.extend(isLeapYear)
dayjs().isBefore(dayjs('2022-12-21')) // 后者与前者相比,是否之前,毫秒
dayjs().isSame(dayjs('2022-12-21')) // 是否相同
dayjs().isAfter(dayjs('2022-12-21')) // 是否之后
dayjs().isSameOrBefore(dayjs('2022-12-21')) // 是否相同或之前
dayjs().isSameOrAfter(dayjs('2022-12-21')) // 是否相同或之后
dayjs('2022-12-21').isBetween('2000-07-10', dayjs('2023-04-14')) // 是否两者之间
dayjs('2022-12-21').isLeapYear() // 是否闰年
相对时间前后,日历时间
moment().subtract(1, 'days').calendar() // 昨天11:32
moment().add(1, 'days').calendar() // 明天11:32
moment().endOf('day').fromNow() // 12 小时后
moment().startOf('hour').fromNow() // 32 分钟前