当前位置 : 主页 > 网络编程 > JavaScript >

时间处理工具 dayjs使用示例详解

来源:互联网 收集:自由互联 发布时间:2023-01-17
目录 特点 安装和使用 dayjs 的基本架构 基本用法 国际化 使用插件 小结 特点 在 dayjs 之前,还有一个时间处理工具 moment.js,但是它的体积比较大,即使经过压缩压缩之后依然有 80kb 左
目录
  • 特点
  • 安装和使用
    • 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的资料请关注自由互联其它相关文章!

    上一篇:JavaScript前后端数据交互工具ajax使用教程
    下一篇:没有了
    网友评论