首页 > 其他分享 >探秘 Day.js:轻量级日期处理神器来袭

探秘 Day.js:轻量级日期处理神器来袭

时间:2024-10-21 14:17:19浏览次数:8  
标签:const dayjs js 日期 date Day 轻量级

Day.js:轻量级的日期处理库

在 JavaScript 开发中,经常需要处理日期和时间。而 Day.js 就是一个强大且轻量级的日期处理库,它提供了简洁、直观的 API,让日期处理变得轻松高效。本文将详细介绍 Day.js 是什么,以及如何安装和使用它。

一、Day.js 是什么

Day.js 是一个极简的 JavaScript 日期库,它与 Moment.js 有着相似的 API,但体积更小、性能更高。Day.js 可以帮助你轻松地进行日期格式化、解析、计算、比较等操作。
以下是 Day.js 的一些主要特点:

  • 轻量级:Day.js 的体积非常小,加载速度快,不会给项目带来过多的负担。
  • 简单易用:提供了简洁明了的 API,易于学习和使用。
  • 链式调用:支持链式调用,让代码更加简洁流畅。
  • 丰富的插件:可以通过安装插件来扩展功能。
  • 国际化支持:可以处理不同地区的日期格式和时区。

二、安装 Day.js

1. 使用 npm

可以通过以下命令安装Day.js:

# Using npm
npm install dayjs

# Using pnpm
pnpm add dayjs

# Using yarn
yarn add dayjs
2. 使用 CDN引入

CDN引入(网络不稳定的时候,可能需要翻墙)

<script src="https://cdn.jsdelivr.net/npm/dayjs/dayjs.min.js"></script>
<script>dayjs().format()</script>

三、使用 Day.js

1. 日期格式化

使用 Day.js 可以轻松地将日期格式化为不同的字符串形式。例如:

const dayjs = require('dayjs');
// import dayjs from 'dayjs' // ES 2015
const date = dayjs();

console.log(date.format('YYYY-MM-DD')); // 当前日期,格式为年-月-日
console.log(date.format('HH:mm:ss')); // 当前时间,格式为小时:分钟:秒
console.log(date.format('YYYY-MM-DD HH:mm:ss')); // 当前日期和时间,格式为年-月-日 小时:分钟:秒
2. 日期解析

可以将字符串解析为日期对象。例如:

const dayjs = require('dayjs');

const dateStr = '2024-10-21';
const date = dayjs(dateStr);
console.log(date); // 解析后的日期对象
3. 日期计算

支持日期的加减运算。例如:

const dayjs = require('dayjs');

const date = dayjs();
const futureDate = date.add(7, 'day');
console.log(futureDate); // 当前日期加上 7 天后的日期
4. 日期比较

可以比较两个日期的大小。例如:

const dayjs = require('dayjs');

const date1 = dayjs('2024-10-21');
const date2 = dayjs('2024-10-22');
console.log(date1.isBefore(date2)); // true,date1 在 date2 之前
console.log(date2.isAfter(date1)); // true,date2 在 date1 之后

四、总结

Day.js 是一个非常实用的日期处理库,它的轻量级、简单易用和丰富的功能使其成为 JavaScript 开发中的得力助手。通过简单的安装和使用,你可以轻松地处理各种日期相关的任务,提高开发效率。无论是日期格式化、解析、计算还是比较,Day.js 都能为你提供便捷的解决方案。希望本文对你了解和使用 Day.js 有所帮助。

标签:const,dayjs,js,日期,date,Day,轻量级
From: https://blog.csdn.net/weixin_52814911/article/details/143110393

相关文章

  • Nuxt.js 应用中的 build:done 事件钩子详解
    title:Nuxt.js应用中的build:done事件钩子详解date:2024/10/21updated:2024/10/21author:cmdragonexcerpt:build:done是Nuxt.js的一个生命周期钩子,它在Nuxt应用的打包构建器完成运行后被调用。这个钩子为开发者提供了一个在构建过程结束后执行特定逻辑的机会,可......
  • 基于node.js+vue基于Android的星座运势查询系统(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于星座运势查询系统的研究,现有研究主要以网页形式为主,专门针对基于Android平台开发星座运势查询系统的研究较少。在国内外,星座文化都有一定的受众群体......
  • 基于node.js+vue化妆品网站的设计与实现(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于化妆品网站的设计与实现这一课题,现有研究主要集中在网站的视觉设计或部分功能模块方面,如化妆品网站设计模板的开发,以及特定功能(如产品展示、订购等)......
  • 基于node.js+vue河北省科技馆展品设备巡检系统的设计与实现(开题+程序+论文)计算机毕业
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于科技馆展品设备巡检系统的研究,现有研究多以科技馆的整体运营管理或个别展品的维护为主1。专门针对河北省科技馆展品设备巡检系统全面且系统的研究较......
  • 基于node.js+vue基于Android的学生考勤APP(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于学生考勤管理的研究,现有研究主要以传统方式(如纸质签到等)为主,专门针对基于Android平台开发学生考勤APP的研究较少。在国内外,虽然考勤管理一直是教育......
  • [实时计算flink]动态CEP中规则的JSON格式定义
    本文为您介绍CEP中规则的JSON格式相关信息。目标人群客户风控平台开发人员:对FlinkCEP较熟悉的平台研发人员应能快速学习本格式,并根据自身平台需求判断是否需要进一步封装。客户风控策略人员:只熟悉具体策略但缺乏Java经验的同学,在熟悉CEP概念的基础上,也可快速上手本格式的使......
  • JSON
    ◼在目前的开发中,JSON是一种非常重要的数据格式,它并不是编程语言,而是一种可以在服务器和客户端之间传输的数据格式。◼JSON的全称是JavaScriptObjectNotation(JavaScript对象符号):JSON是由DouglasCrockford构想和设计的一种轻量级资料交换格式,算是JavaScript的一个子集;......
  • Day10 备战CCF-CSP练习
    Day10题目描述十滴水是一个非常经典的小游戏。小\(C\)正在玩一个一维版本的十滴水游戏。我们通过一个例子描述游戏的基本规则。游戏在一个$1×c$的网格上进行,格子用整数$x(1≤x≤c)$编号,编号从左往右依次递增。网格内\(m\)个格子里有\(1∼4\)滴水,其余格子里没有......
  • 一天10个js面试题(七)
    1、promise的链式调用?链式调用的话就是说then的函数和新promise的resolve一起push到前一个promise的callbacks数组中当前一个promise完成后,调用它的resolve变更状态,在这个resolve里会依次调用callbacks里的回调,这样就执行了then里的方法了然后等then......
  • 【题解】Solution Set - NOIP2024集训Day57 字符串
    【题解】SolutionSet-NOIP2024集训Day57字符串https://www.becoder.com.cn/contest/5653「CF213E」TwoPermutations「CF961F」k-substrings「CF580E」KefaandWatch「CF504E」MishaandLCPonTree......