在前端开发中,日期处理是一个常见的需求。而 dayjs 是一个轻量级的 JavaScript 日期处理库,它拥有和 Moment.js 相似的 API,但是体积更小、性能更好。
本文将介绍如何使用 dayjs 库,并提供一些实用的示例代码。
安装 dayjs
dayjs 可以通过 npm 包管理器进行安装:
npm install dayjs --save
安装成功后,你可以在项目中引入 dayjs:
import dayjs from 'dayjs'
如果你只需要使用 dayjs 的核心功能,可以使用如下方式进行引入:
import dayjs from 'dayjs/esm'
基本用法
创建 dayjs 实例
你可以使用 dayjs() 函数创建一个 dayjs 实例:
const now = dayjs() console.log(now.format()) // 输出当前时间的 ISO 8601 格式
解析日期字符串
你也可以使用 dayjs() 函数来解析一个日期字符串:
const day = dayjs('2022-12-31') console.log(day.format('YYYY-MM-DD')) // 输出 '2022-12-31'
格式化日期
dayjs 提供了 format 方法来格式化日期:
const day = dayjs() console.log(day.format('YYYY-MM-DD HH:mm:ss')) // 输出当前时间的年月日时分秒
操作日期
dayjs 支持对日期进行各种操作,例如加减天数、月份等:
const day = dayjs() console.log(day.add(1, 'day').format('YYYY-MM-DD')) // 输出明天的日期 console.log(day.subtract(1, 'month').format('YYYY-MM-DD')) // 输出上个月同一天的日期
获取日期信息
你可以使用 dayjs 的各种方法来获取日期的各种信息,例如年份、月份、星期几等:
const day = dayjs() console.log(day.year()) // 输出当前年份 console.log(day.month() + 1) // 输出当前月份 console.log(day.date()) // 输出当前日期 console.log(day.day()) // 输出当前星期几(0 表示星期日)
实用示例
计算两个日期之间的天数
const start = dayjs('2022-01-01') const end = dayjs('2022-12-31') const days = end.diff(start, 'day') console.log(days) // 输出 364
根据生日计算年龄
const birthday = dayjs('1990-03-21') const age = dayjs().diff(birthday, 'year') console.log(age) // 输出当前年龄
格式化时间戳
const timestamp = new Date().getTime() const formatted = dayjs(timestamp).format('YYYY-MM-DD HH:mm:ss') console.log(formatted) // 输出格式化后的时间字符串
总结
dayjs 是一个轻量级的 JavaScript 日期处理库,它提供了和 Moment.js 相似的 API,并且体积更小、性能更好。在前端开发中,你可以使用 dayjs 来解析、格式化、操作日期,以及获取日期的各种信息。同时,dayjs 还提供了一些实用的功能,例如计算两个日期之间的天数、根据生日计算年龄等。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/46417