JavaScript 日期 – 如何使用 DayJS 库在 JS 中处理日期和时间
当涉及到在 JavaScript 中处理日期和时间时,开发人员经常发现自己正在努力应对内置对象的复杂性Date。
虽然普通 JavaScript 提供了基本功能,但使用起来可能相当麻烦,尤其是在处理解析、格式化和操作日期时。
这就是像 DayJS 这样的外部库发挥作用的地方,它提供了大量的优势,使处理日期和时间变得轻而易举。
在这篇文章中,我将向您介绍 DayJS 以及这个小型库如何极大地提高您的代码库和生产力。
我们将介绍以下内容:
-
如何安装DayJS库
-
如何在 JavaScript 中使用日期和时间
-
如何利用 DayJS 库使这些函数更简单、更简洁、更具可读性
-
vanilla JS 和 DayJS 中执行功能的比较
-
DayJS 库中提供的有用函数
目录:
JavaScript 中日期对象的快速介绍
如何安装 DayJS 库
DayJS API 和基本语法
DayJS 的模块化
DayJS 中的可变性
DayJS 中的不可变性和不可变对象
解析灵活性
如何添加或减去日期和时间
如何在 DayJS 中比较日期
如何获取两个日期之间的差异
如何获取时间段的开始或结束
DayJS中如何组合函数
结论
DayJS 图书馆
DayJS 的模块化
DayJS 中的可变性
DayJS 还能做什么?
JavaScript 中日期对象的快速介绍
您可以使用DateJavaScript 中的对象来处理日期和时间段。但有时处理对象Date可能很麻烦,并且日期/时间可能很难操作。
让我们看看如何在 JavaScript 中获取今天的日期:
var date = new Date();
够简单吧?这将为我们提供一个 ISO 日期(这是通用日期格式),其输出如下:
2023-07-16T14:51:47.557Z
因此您可以看到,在 中year-month-date,T标记了日期的时间部分的开始点。那么下面的数字就是hours:minutes:seconds.fractional seconds。末尾的Z表示没有指定时区,应使用 UTC 时区(发音为“Zulu”)。
您可以在此处阅读有关此格式的更多信息。
DayJS 图书馆
现在,我并不是说处理日期和时间的其他方法是错误的,但由于它们的复杂性,对我来说,它们似乎不值得麻烦。
在处理代码中的日期和时间时,我想要一个易于使用、开箱即用的解决方案,该解决方案可以增加代码的可读性并提供灵活性。
这就是 DayJS 发挥作用的地方。这是在 JavaScript 中以库的形式处理日期和时间的另一种方法。
与其他图书馆不同,这个图书馆的规模非常小。例如,有一些开发人员使用的另一个常见库称为MomentJs,但它的文件大小非常大。Moment.js 本身为280.9kb,在包含时区库后增加到467.6kb(允许您设置默认时区,并根据特定时区操作日期)。
在为网络和移动设备进行开发时,我们确实希望避免大型导入和库文件,以帮助提高加载速度和包大小。
DayJs 的大小为令人印象深刻的2kb——这是一个非常小的文件大小,特别是考虑到它的能力和功能。
如何安装 DayJS 库
为了从本教程中学到最多的东西,我强烈建议安装 DayJS,这样您就可以按照示例和要点进行操作。
DayJS 可以使用以下命令通过yarn 或 npm 包管理器轻松安装
// yarnyarn add dayjs//nodenpm install dayjs
要在文件中使用 DayJS .js,只需使用常规导入语法导入它:
import dayjs from 'dayjs'
DayJS API 和基本语法
在普通 JavaScript 中处理日期和时间通常涉及多个方法调用和计算。这使得代码过于冗长并且难以阅读。
DayJS 库通过提供更加直观和简化的 API 来解决这个问题,这极大地简化了日期和时间操作。
考虑将日期格式化为特定格式的任务,例如“YYYY-MM-DD HH:mm:ss”(年-月-日 24 小时:分钟:秒)。
以下是使用普通 JavaScript 的 Date 对象来完成此操作的方法:
相关文章:
JavaScript 日期 – 如何使用 DayJS 库在 JS 中处理日期和时间
当涉及到在 JavaScript 中处理日期和时间时,开发人员经常发现自己正在努力应对内置对象的复杂性Date。 虽然普通 JavaScript 提供了基本功能,但使用起来可能相当麻烦,尤其是在处理解析、格式化和操作日期时。 这就是像 DayJS 这样的外部库发挥作用的地方,它提供了大量的优…...

Docker基础入门:Docker基础总结篇--超详细
Docker基础入门:Docker基础总结篇[docker3要素、docker安装配置、容器使用、镜像管理发布] 一、Docker 3要素1.1、镜像(Image)1.2、容器(Container)1.3、仓库(Registry)1.4 、总结 二、Docker安…...

对象临时中间状态的条件竞争覆盖
Portswigger练兵场之条件竞争 🦄条件竞争之对象临时中间状态的条件竞争 Lab: Partial construction race conditions🚀实验前置必要知识点 某些框架尝试通过使用某种形式的请求锁定来防止意外的数据损坏。例如,PHP 的本机会话处理程序模块…...

Nodejs 第十四章(process)
process 是Nodejs操作当前进程和控制当前进程的API,并且是挂载到globalThis下面的全局API API 介绍 1. process.arch 返回操作系统 CPU 架构 跟我们之前讲的os.arch 一样 arm、arm64、ia32、mips、mipsel、ppc、ppc64、s390、s390x、以及 x64 2. process.cwd() …...

数据分析因子评分学习
当多个因素影响一个结果时,我们需要综合考虑这些因素分别对结果德影响。因子评分就是用于比较其对结果德影响程度。 文章目录 前言一、案例背景二、解决方案(一)分析思路(二)剔除无关数据(三)求…...

【postgresql 基础入门】数据库服务的管理
数据库服务管理 专栏内容: postgresql内核源码分析手写数据库toadb并发编程 开源贡献: toadb开源库 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤ÿ…...

githubPage部署Vue项目
github中新建项目 my-web (编写vue项目代码) myWebOnline(存放Vue打包后的dist包里面的文件) 发布流程 (假设my-web项目已经编写完成)Vue-cli my-web vue.config.js文件中 const { defineConfig } require(vue/cli-service)…...
【网络编程】网络原来这么简单(更新中)
故事背景:有一天小胖和他的朋友细狗出去吃饭,聊着聊着就聊到了网络,小胖是学校里的编程大佬,而细狗只是个空有求知欲的编程小白。 细狗:胖儿啊,你说计算机是怎么通信的我感觉好抽象啊。为啥别人给我发个消息…...

监控系统典型架构
监控系统典型架构如下: 从左往右看: 采集器是负责采集监控数据的,采集到数据之后传输给服务端,通常是直接写入时序库。 对时序库的数据进行分析和可视化。 告警引擎产生告警事件之后交给告警发送模块做不同媒介的通知。 可视化比…...

jsp 新能源汽车论坛网Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 JSP 新能源汽车论坛网是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0…...

Code Snippet的使用
文章目录 前言Code Snippet:就是咱们在VS中敲的prop、propfull、ctol【构造器快捷键】、for等快捷键,然后按tab键自动生成代码1.VS自带的:prop、propfull、ctol【构造器快捷键】、for等快捷键,直接使用2.自定义Snippet: 巨人的肩膀…...

华为云云服务器评测|华为云耀云L搭建zerotier服务测试
0. 环境 - Win10 - 云耀云L服务器 1. 安装docker 检查yum源,本EulerOS的源在这里: cd /etc/yum.repos.d 更新源 yum makecache 安装 yum install -y docker-engine 运行测试 docker run hello-world 2. 运行docker镜像 默认配…...

企业电脑文件加密系统 / 防泄密软件——「天锐绿盾」
「天锐绿盾」是一种公司文件加密系统,旨在保护公司内网数据安全,防止信息泄露。该系统由硬件和软件组成,其中包括服务端程序、控制台程序和终端程序。 PC访问地址: isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c…...

单条视频涨粉50w,逃出大英博物馆背后的逻辑是什么?
为洞察小红书平台的内容创作趋势及品牌营销策略,新红推出8月月度榜单,从创作者、品牌、品类多方面入手,解析月榜数据,为从业者提供参考。 一条视频涨粉50w 情感共鸣是爆火的核心 据8月的『涨粉排行榜』TOP500数据显示,…...
AIGC(生成式AI)试用 1 -- 基本文本查询
以一个字起,依次加一个字构成新句,不断加字使句子越来越长,也许越来越有趣。 1. 使用不同的生成AI提问,提取结果(全部 或 第一句),对比结果,个人评价更喜欢哪个(绿色底色…...
php如何处理高并发请求
PHP 处理高并发请求的方法: 使用异步框架:通过使用异步处理方式,可以有效地降低 PHP 处理请求的响应时间,避免因为 IO 操作而导致的等待阻塞。常用的异步框架有ReactPHP和Swoole等。 使用缓存:使用缓存可以减少每个请求…...
控制台实现汽车租赁系统
汽车租赁系统需求:(基于控制台实现,适合基础小白练习使用) 1、包含汽车租赁和汽车管理两个模块 2、汽车租赁需要包含汽车租赁天数以及汽车租金结算功能 3、汽车管理需要包含租赁汽车的添加、删除、修改、查询功能 代码如下&#…...
机器学习和数据挖掘03-模型性能评估指标
Accuracy(准确率) 概念:模型正确预测的样本数量与总样本数量的比例。 公式:Accuracy (TP TN) / (TP TN FP FN) TP (True Positives):正确预测为正例的样本数。即模型正确地将正例判定为正例。 TN (True Negati…...
PageNumberPagination、LimitOffsetPagination、CursorPagination
数据 from django.db import modelsclass User(models.Model):username models.CharField(max_length64, verbose_name用户名)password models.CharField(max_length64, verbose_name密码)# 用户类型user_type models.IntegerField(choices((1, 菜鸟用户), (2, 普通用户), …...

怎么把视频转换成mp4格式
怎么把视频转换成mp4格式?如今,随着科技的不断发展,我们在工作中接触到的多媒体视频格式也越来越多。其中,MP4作为一种广泛兼容的视频格式,在许多软件中都能轻松播放,并且成为了剪辑与裁剪视频时大家常用的…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

AD学习(3)
1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...