返回顶部
首页 > 资讯 > 前端开发 > JavaScript >时间处理工具 dayjs使用示例详解
  • 544
分享到

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

时间处理工具 dayjs时间处理 dayjs 2022-11-13 18:11:28 544人浏览 八月长安
摘要

目录特点安装和使用dayjs 的基本架构基本用法国际化使用插件小结特点 在 dayjs 之前,还有一个时间处理工具 moment.js,但是它的体积比较大,即使经过压缩压缩之后依然有

特点

在 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的资料请关注编程网其它相关文章!

--结束END--

本文标题: 时间处理工具 dayjs使用示例详解

本文链接: https://lsjlt.com/news/170216.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 时间处理工具 dayjs使用示例详解
    目录特点安装和使用dayjs 的基本架构基本用法国际化使用插件小结特点 在 dayjs 之前,还有一个时间处理工具 moment.js,但是它的体积比较大,即使经过压缩压缩之后依然有...
    99+
    2022-11-13
    时间处理工具 dayjs 时间处理 dayjs
  • C语言实现时间处理工具的示例代码
    目录c语言-时间处理工具头文件功能实现c语言-时间处理工具 头文件 #ifndef STUDY_TIME_UTIL_H #define STUDY_TIME_UTIL_H lon...
    99+
    2024-04-02
  • Linux文本处理工具使用详解
    1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 grep是一个文本工具,是通过一行一行来匹配文本进行处理的; 通过grep命令,借助-v参数显示不...
    99+
    2022-06-03
    Linux 文本处理工具
  • Java TimedCache 带时间缓存工具类详解使用
    简述 我们在工作中会碰到需要使用带过期时间的缓存场景。但是使用redis有太重了,毕竟缓存的数据很小,放在内存够够的。hutools提供了TimedCache时间缓存工具,可以实现该...
    99+
    2024-04-02
  • vue日期时间工具类详解
    最近做的一个项目对日期时间的处理比较多,最后整理到一个工具类里面,方便以后使用: 1. 在utils文件夹下新建一个dateTimeUtil.js文件: // 获取当前时间并格式化 ...
    99+
    2024-04-02
  • Java两大工具库Commons和Guava使用示例详解
    目录正文先定义观察者然后定义账户类最后实现事件总线创建观察者接口和具体观察者创建Subject:正文 除了操作集合、限流和缓存,Guava还有另一个隐秘的功能:事件总线EventB...
    99+
    2023-02-07
    Java工具库Commons Guava Java工具库
  • Redux Toolkit的基本使用示例详解(Redux工具包)
    目录Redux工具包的使用Redux Toolkit介绍Redux Toolkit基本使用Redux工具包的使用 Redux Toolkit介绍 Redux Toolkit 是官方推...
    99+
    2022-12-22
    Redux Toolkit使用 Redux 工具包
  • 如何在golang项目中使用now时间处理工具箱
    本篇文章给大家分享的是有关如何在golang项目中使用now时间处理工具箱,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。time1, _ := t...
    99+
    2023-06-06
  • Unity AssetBundle打包工具示例详解
    目录Unity批量打AB包1.PathTool2.CreateAB3.ClearABLable4.拓展Unity批量打AB包 为了资源热更新,Unity支持将所有资源打包成Asset...
    99+
    2024-04-02
  • Java时间工具类Date的常用处理方法
    目录前言Date 类构造方法常用方法前言 Date 类 Date 类表示系统特定的时间戳,可以精确到毫秒。Date 对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。 构造方法...
    99+
    2024-04-02
  • Linux时间子系统之时间的表示示例详解
    前言 在linux内核中,为了兼容原有的代码,或者符合某种规范,并且还要满足当前精度日益提高的要求,实现了多种与时间相关但用于不同目的的数据结构: 1)jiffies和jiffies_64 内核用jiffies_64全局...
    99+
    2022-06-04
    linux时间 查看linux时间 linux修改时间
  • Oracle_oswbba工具使用详解
    OS Watcher Black Box 一.OS WatcherBlack Box说明 OSWatcher是Oracle提供的一个用于操作系统监控的工具包。 OS Watcher B...
    99+
    2024-04-02
  • SpringBoot AnnotationUtils工具类的使用实例详解
    目录一. 前期准备二. 使用自定义注解标记业务方法三. 原生Java获取注解四. AnnotationUtils工具类获取4.1 AnnotationUtils.findAnnota...
    99+
    2024-04-02
  • 使用Vite处理css less及postcss示例详解
    目录1. css2. less3. postcss4. 小结1. css 当前,我们的 vite的基本使用 项目中是没有 css 代码的,但在真实的项目中,肯定会有 css 代码,那...
    99+
    2024-04-02
  • SQL处理时间戳时如何解决时区问题实例详解
    目录1.问题及解决办法2.时区差相加公式的实例补充:SQL 关于时区的处理案例总结1.问题及解决办法 (1)问题:由于存储的时间戳是时间戳为GMT(格林尼治标准时间),以秒储存,但由于需要获取的是北京时间,存在时区问题。...
    99+
    2024-04-02
  • moment.js 时间日期处理详解
    周一 至 周日 时间格式化转化 (Y --- 年     M --- 月   D--- 天) var timeNow...
    99+
    2024-04-02
  • 详解Go 中的时间处理
    ​作为程序员,我们经常需要对时间进行处理。在 Go 中,标准库 time 提供了对应的能力。 本文将介绍 time 库中一些重要的函数和方法,希望能帮助到那些一遇到 Go 时间处理问...
    99+
    2024-04-02
  • 详解python日期时间处理
    目录开发中常用的日期操作有哪些?我们看看这两个模块。time 内置模块calender 内置模块日期格式化处理总结讲了很多数据容器操作,这篇我们看看时间的处理。 开发中常用的日期操作...
    99+
    2024-04-02
  • Pygame Time时间控制的具体使用详解
    pygame.time 时间控制模块,是 Pygame 中使用频率较高的模块,其主要功能是管理时间和游戏帧数率(即 FPS)。 时间在游戏开发中承担着非常重要的作用,比如释放某个技能...
    99+
    2024-04-02
  • 前端必会的nodejs知识工具模块使用示例详解
    目录Util常用的判断属性,在util.types对象常用的方法和属性DNSOS常用的方法和属性Path常用的方法和属性总结Util nodejs中有许多在框架中常用而我们又不知道的...
    99+
    2022-11-13
    前端nodejs工具模块 nodejs工具模块
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作