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作为一种广泛兼容的视频格式,在许多软件中都能轻松播放,并且成为了剪辑与裁剪视频时大家常用的…...
智能语义分块:chunkhound如何解决RAG应用中的文档处理难题
1. 项目概述:从“分块”到“猎犬”的智能进化如果你在数据处理的深海里游过泳,尤其是处理过那些动辄几十上百GB的文本、代码或日志文件,那你一定对“分块”(Chunking)这个概念又爱又恨。爱的是,它是我们处理…...
风冷热泵中央空调系统安装:从冷热源到末端联动的完整解析
一、什么是风冷热泵中央空调系统安装?风冷热泵中央空调系统安装,是指在办公楼、商业综合体、酒店、学校、医院、厂房办公区、实验室、园区配套建筑以及各类中小型公共建筑中,根据建筑冷热负荷、使用时段、空间功能和节能要求,对风…...
利川避暑民宿舒适化运营:客流增长策略深度解析
利川避暑民宿舒适化运营:客流增长策略深度解析行业痛点与解决方案避暑民宿行业普遍面临“舒适体验与运营效率平衡难、季节性客流波动大”的核心挑战,如何在保障游客体验的同时实现可持续客流增长,是多数从业者的共同课题。利川关东度假村民宿…...
基于Circuit Playground Express与MakeCode的动感火焰球DIY制作全攻略
1. 项目概述:打造你的专属动感火焰球如果你玩过《魔兽世界》,一定对凯尔萨斯逐日者手中那团标志性的魔法火焰印象深刻;或者,你也曾幻想过像马里奥兄弟一样,投掷出酷炫的火球。现在,这个幻想可以变成你Cospl…...
ArduPilot开源飞控之飞行模式切换逻辑与安全机制
1. ArduPilot飞行模式的核心价值与设计哲学 第一次接触ArduPilot的飞行模式时,我完全被它的设计哲学震撼到了。这个开源飞控系统将复杂的飞行控制抽象成几十种可切换的行为模式,就像给无人机装上了不同性格的大脑。Stabilize模式下飞机会自动保持平衡&am…...
ONLYOFFICE集成踩坑实录:90%的“内容丢失”和“版本已更新”都因为document.key用错了
在集成OnlyOffice DocumentServer的过程中,很多开发者都会遇到两个非常典型的问题: 多人协同编辑后,再次打开文档发现内容缺失重新打开文档时提示“文档版本已更新” 很多人会认为: 是 ONLYOFFICE 不稳定是缓存机制异常是协同编…...
Android自动化测试代理droidrun-agent:原理、实现与工程实践
1. 项目概述:一个面向Android应用的自动化测试代理在移动应用开发与测试领域,自动化测试是保障应用质量、提升迭代效率的核心环节。对于Android平台,虽然官方提供了Espresso、UI Automator等成熟的测试框架,但在面对复杂业务场景、…...
AbMole丨Apigenin:天然黄酮化合物在氧化应激中的应用
Apigenin(芹菜素)是一种广泛存在于芹菜、洋甘菊、欧芹等植物中的天然黄酮类化合物[1]。Apigenin(CAS No.:520-36-5)具有多种生物活性,其分子机制涉及对多条细胞信号通路的调控,包括PI3K/AKT/mTO…...
Maple Mono字体终极配置指南:3步解决连字显示难题,开启高效编程体验
Maple Mono字体终极配置指南:3步解决连字显示难题,开启高效编程体验 【免费下载链接】maple-font Maple Mono: Open source monospace font with round corner, ligatures and Nerd-Font icons for IDE and terminal, fine-grained customization option…...
Zynq MPSoC实战:从官方Base TRD里,只抠出HDMI输入+DP显示这一个功能(Vivado 2020.1 + Petalinux)
Zynq MPSoC实战:精准剥离HDMI输入与DP显示功能的工程精简指南 面对Xilinx官方提供的Base TRD参考设计,许多开发者都会被其庞大的规模所震撼——12000行代码、数十个功能模块交织在一起,就像一个功能齐全但臃肿不堪的"瑞士军刀"。本…...
