dayjs使用总结

安装

npm install dayjs

相关操作

获取当前时间

const date= dayjs(); 

转换为 JavaScript Date 对象

dayjs().toDate();

转换为 ISO 8601 格式的字符串

dayjs(date).toISOString(); //2024-06-24T16:00:00.000Z

比较日期的大小。

const date1 = dayjs('2022-01-01');
const date2 = dayjs('2022-01-12');
console.log(date1.isBefore(date2));  // 输出 true,表示 date1 在 date2 之前
console.log(date1.isAfter(date2));  // 输出 false,表示 date1 在 date2 之后
console.log(date1.isSame(date2, 'day'));  // 输出 false,表示 date1 和 date2 不是同一天

获取13位时间戳

dayjs(date).valueOf()

获取一天的开始时间

dayjs(date).startOf('day')

获取一天的结束时间

dayjs(date).endOf('day')

获取一天的开始时间时间戳

dayjs(date).startOf('day').valueOf()

获取一天的结束时间时间戳

dayjs(date).endOf('day').valueOf()

获取日期的某个部分

const year = date.year();
const month = date.month();
const day = date.date();
const hour = date.hour();
const minute = date.minute();
const second = date.second();

设置日期的某个部分:

const newDate = date.year(2023).month(1).date(1);

获取当前年度

dayjs().format("YYYY")  
// '2022'

获取今年第一天

dayjs().format("YYYY") + "-01-01" 
// '2022-01-01'
dayjs().startOf('year').format('YYYY-MM-DD')
// '2022-01-01'

获取当天

dayjs().format("YYYY-MM-DD")
// '2022-01-01'

获取当月

dayjs().startOf('month').format('YYYY-MM')
// '2022-07'

获取当月第一天

dayjs().startOf('month').format('YYYY-MM-DD')
// '2022-07-01'

获取本周第一天(周一)

dayjs().subtract(dayjs().day() ? dayjs().day() - 1 : 6, "day").format("YYYY-MM-DD");
// '2022-07-25'

获取本周第一天(周日)

dayjs().startOf('week').format('YYYY-MM-DD')
// '2022-07-24'

获取当前时间点

// 时
dayjs().startOf('hour').format('HH') // '11'
// 分
dayjs().startOf('minute').format('HH:mm') // '11:38'
// 秒
dayjs().startOf('second').format('HH:mm:ss') // '11:39:09'
// 当前时间点(精确到秒)
dayjs().endOf().format('YYYY-MM-DD HH:mm:ss') //  '2022-07-28 14:15:13'

从今天往后计算 的 第N天

let n = 7;
dayjs().add(n, 'day').format('YYYY-MM-DD')
// 2022-08-04

获取N年前的今天

let n = 1;
dayjs().subtract(n, 'year').format('YYYY-MM-DD')
// 2021-07-28

获取N天前

let n = 3;
dayjs().subtract(n, 'day').format('YYYY-MM-DD');
// 2022-07-25

获取本月(或指定月份)天数

// 获取本月天数
dayjs().daysInMonth() // 31
// 获取指定月份天数
dayjs('2022-06').daysInMonth() // 30

计算两个指定日期之间的(年,月,天,小时,分,秒)

// 相差: 年 参数--year
dayjs('2022-02-01').diff('2012-01-01','year') // 10

// 相差: 月 参数--month
dayjs('2022-02-01').diff('2012-01-01','month') // 121

// 相差: 天 参数--day 
dayjs('2022-02-01').diff('2012-01-01','day') // 3684

// 相差:时 参数--hour
dayjs('2022-02-01').diff('2012-01-01','hour') // 88416

// 相差:分 参数--minute
dayjs('2022-02-01').diff('2012-01-01','minute') // 5304960

// 相差: 秒 参数--second
dayjs('2022-02-01').diff('2012-01-01','second') // 318297600
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值