首页IT科技时间管理的工具介绍(时间处理工具 dayjs使用示例详解)

时间管理的工具介绍(时间处理工具 dayjs使用示例详解)

时间2025-06-17 14:58:12分类IT科技浏览5485
导读:特点 在 dayjs 之前,还有一个时间处理工具 moment.js,但是它的体积比较大,即使经过压缩压缩之后依然有 80kb 左右。而前者 dayjs 只有 2kb 大小,且具备一致的 API ,所以现在大都使用 dayjs。...

特点

在 dayjs 之前                ,还有一个时间处理工具 moment.js                     ,但是它的体积比较大        ,即使经过压缩压缩之后依然有 80kb 左右                。而前者 dayjs 只有 2kb 大小            ,且具备一致的 API                      ,所以现在大都使用 dayjs                     。

体积极小:核心包只有 2kb 大小           ,国际化需要加载对应的语言包        ,可通过插件扩展功能        。 简单易用:和 Moment.js 的 API 设计保持一致            。 不可变:所有的 API 操作都将返回一个新的 Dayjs 对象                      ,避免 bug 产生              ,节约调试时间                     。 国际化:对国际化支持良好    ,默认为英语环境           。

安装和使用

在现代前端应用中                       ,通过 node 包管理工具安装                 ,比如:

pnpm add dayjs

dayjs 的基本架构

dayjs 包暴露了一个全局方法 dayjs,它是一个工厂函数                    ,返回 Dayjs 对象的实例                     ,大致结构如下:

function Dayjs () { // ... } function dayjs () { return new Dayjs() }

所以在使用 dayjs 时    ,每次调用 dayjs 方法                ,其实都是创建了一个 Dayjs 构造函数的实例        。

基本用法

JavaScript 原生的 Date 日期对象没有提供处理格式化日期时间的方法                     ,需要手动封装        ,可通过引入 dayjs 对日期格式进行处理                      。

Dayjs 原型对象上有一个 format 方法            ,用于格式化日期时间              。它支持多种解析方法                     ,比如时间戳           ,Date 对象实例和合法的日期字符串    。

import dayjs from dayjs // 解析 Date 对象实例 dayjs(new Date()).format(YYYY-MM-HH) // 2022-10-24 // 解析 Unix 时间戳 (毫秒) dayjs(1666617034000).format(YYYY/MM/DD hh:mm:ss) // 2022/10/24 21:10:34 // 解析 Unix 时间戳 (秒) dayjs.unix(1666617034).format(YYYY-MM-DD) // 2022-10-24 // 解析符合 ISO 8601 格式的日期字符串 dayjs(2022-10-24T20:00:00.000Z).format(YYYY-MM-HH hh:mm:ss) // 2022-10-25 04:00:00

国际化

dayjs 默认语言是英语        ,只用来展示时间时没有问题                       。如果要做一些其他的处理                      ,比如计算相对时间              ,此时需要手动导入中文语言包    ,来把一些描述性文字转为中文显示                 。

安装 dayjs 时                       ,会把语言包一并安装下                 ,位于 dayjs/locale 目录下。

import dayjs from dayjs import zhCn from dayjs/locale/zh-cn dayjs.locale(zhCn)

使用插件

在一些场景下,需要显示一条数据创建的相对时间                    ,而非绝对时间                     ,比如朋友圈里的分享    ,论坛里的帖子等等                    。此时可以导入一个插件来实现这个功能                     。

import dayjs from dayjs import relativeTime from dayjs/plugin/relativeTime dayjs.extend(relativeTime) // 距离现在的相对时间 console.log(dayjs().toNow()) // 几秒前 // 某一个日期距离现在的相对时间 console.log(dayjs().to(2022-10-20)) // 5 天前

小结

本文简单介绍了 dayjs 的用法                ,主要用来格式化日期时间                     ,和计算相对时间        ,以及国际化的处理    。更多的介绍和用法可以阅读官方文档                。

以上就是时间处理工具 dayjs使用示例详解的详细内容            ,更多关于时间处理工具 dayjs的资料请关注本站其它相关文章!

声明:本站所有文章                     ,如无特殊说明或标注           ,均为本站原创发布                     。任何个人或组织        ,在未征得本站同意时                      ,禁止复制             、盗用                        、采集        、发布本站内容到任何网站         、书籍等各类媒体平台        。如若本站内容侵犯了原著者的合法权益              ,可联系我们进行处理            。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vue父组件怎么给子组件传值(vue中props设置默认值-父组件给子组件传值的写法——简略、带类型、带类型和默认值、带校验) 伪原创文章怎么赚钱(伪原创文章生成器软件哪个软件最好用?)