dayjs 日常使用

 

转换

转换时间戳.unix()
dayjs().startOf('day').unix()

时间戳格式化.format()
dayjs(time * 1000).format('YYYY/MM/DD')

日期比较

时间戳

demo:

const d1 = dayjs(date).startOf('day').unix()
const d2 = dayjs().endOf('day').unix()

判断开始时间 > 结束时间:d1 > d2

使用格式化日期:年-月-日依次比较

demo:

日比较:dayjs(date).format('DD') >= dayjs().format('DD')


基础使用

  • 今天(开始- 结束:dayjs().startOf('day') - dayjs().endOf('day')
  • 明天
    • 明天此时:dayjs().add(1, 'day') 
    • 明天00点:dayjs().startOf('day').add(1, 'day')
  • 昨天
    • 开始:dayjs().subtract(1, 'day').startOf('day')
    • 结束:dayjs().subtract(1, 'day').endOf('day')
  • 近7天(不包含今天):
    • 开始:dayjs().subtract(7, 'day').startOf('day')
    • 结束:dayjs().subtract(1, 'day').endOf('day')
  • 近30天(不包含今天): 
    • 开始:dayjs().subtract(30, 'day').startOf('day')
    • 结束:dayjs().subtract(1, 'day').endOf('day')


扩展  

1月:dayjs().month(0)
12月:dayjs().month(11)

上个月/下个月:// 获取当月结束日期向前/后推
    开始时间:dayjs().date(1)
    结束时间:dayjs().date(31)

- 上/下个月:开始,结束

last_month= {
   start: dayjs(month).date(1)
   end: dayjs().month().endOf('month')
}

or

// 建议使用
last_month= {
   start: dayjs('2021/1/1').subtract(1, 'month'),
   end: dayjs(start_time).subtract(1, 'month').endOf('month')
}

测试:
dayjs().month(1).endOf('month').format('YYYY-MM-DD')

dayjs('2021/1/12').subtract(1, 'month').startOf('month')
dayjs('2021/1/12').subtract(1, 'month').endOf('month')

- 上/下个月:开始,结束

last_month= {
   start: dayjs(date).add(1, 'month').startOf('month')
   end: dayjs(date).add(1, 'month').endOf('month')
}

测试:
dayjs('2021/1/12').add(1, 'month').startOf('month')
dayjs('2021/1/12').add(1, 'month').endOf('month')

- 每个月多少天

js获取:new Date(2021,11,0).getDate()
dayjs获取: dayjs('2021-11-21').daysInMonth()

- 获取某月份最后1天

dayjs(dayjs().month(0)).endOf('month')

- 获取月起止时间

dayjs().set('month', 1).date(1)
dayjs().set('month', 1).date(31)

建议使用
dayjs(date).startOf('month')
dayjs(date).endOf('month')

测试:
dayjs('2021/1/12').startOf('month')
dayjs('2021/1/12').endOf('month')

星期:(星期日0,星期六6

  •  当天星期几:dayjs().day()
  • 基于当前时间
  •   本周: dayjs().day(1), dayjs().day(7)
    上一周: dayjs().day(-6),dayjs().day(0) 
    下一周: dayjs().day(8), dayjs().day(14)
    
    
  • 基于相对时间

  • 周一 -- 周日
    
    上一周: start: dayjs(time).day(1), end: dayjs(time).day(7)
    下一周: start: dayjs(time).day(-6), end: dayjs(time).day(0)
    
    测试:2021/10/28
      上一周: 2021/10/18 - 2021/10/24
      下一周: 2021/11/1 - 2021/1/7
    
    
    
    or
    
    上周日 -- 这周六
    
    上一周: 
        start: dayjs(start_time).subtract(1, 'week').startOf('week'), 
        end: dayjs(start_time).subtract(1, 'week').endOf('week')
    
    下一周: 
        start: dayjs(start_time).add(1, 'week').startOf('week'),
        end: dayjs(start_time).add(1, 'week').endOf('week')
    
    测试:2021/10/28
      上一周: 2021/10/17 - 2021/10/23
      下一周: 2021/10/31 - 2021/1/6
    

日期


差值

年:dayjs(time).diff(dayjs(start), 'years')


dayjs('2021-06-08').diff(dayjs('2001-06-01'), 'years') // 20

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值