当前位置: 首页 > news >正文

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-dateT标记了日期的时间部分的开始点。那么下面的数字就是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开源库 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤&#xff…...

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数据显示&#xff0c…...

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作为一种广泛兼容的视频格式,在许多软件中都能轻松播放,并且成为了剪辑与裁剪视频时大家常用的…...

正则判断字符是否包含手机号

字符前后不能是数字,满足手机号标准 String msg "19009098989";String mobliePattern "((?<!\\d))(mobile|手机号|)(|\\[|\\\":\\\"|:|&#xff1a;||:|)(1)([3-9]{1}\\d{1})(\\d{4})(\\d{4})(\\]|\\\"||)((?!\\d))";String mobileR…...

OSCP系列靶场-Esay-Sumo

OSCP系列靶场-Esay-Sumo 总结 getwebshell : nikto扫描 → 发现shellshock漏洞 → 漏洞利用 → getwebshell 提 权 思 路 : 内网信息收集 → 内核版本较老 →脏牛提权 准备工作 启动VPN 获取攻击机IP → 192.168.45.194 启动靶机 获取目标机器IP → 192.168.190.87 信息收…...

本地电脑搭建web服务器、个人博客网站并发布公网访问 【无公网IP】(1)

文章目录 前言1. 安装套件软件2. 创建网页运行环境 指定网页输出的端口号3. 让WordPress在所需环境中安装并运行 生成网页4. “装修”个人网站5. 将位于本地电脑上的网页发布到公共互联网上 前言 在现代社会&#xff0c;网络已经成为我们生活离不开的必需品&#xff0c;而纷繁…...

Python基础List列表定义与函数

如何定义一个非空的列表&#xff1f; name_list ["liming","xiaohong",15,{"hobby":"basketball"}] 列表的特点&#xff1a; 1.列表是有序的 2.可以存放多个元素 3.每个元素可以是任何数据类型 定义一个空列表 name_list [] 访…...

typeScript--[数据定义]

一.安装ts 1.命令行运行如下命令&#xff0c;全局安装 TypeScript&#xff1a; npm install -g typescript2.安装完成后&#xff0c;在控制台运行如下命令&#xff0c;检查安装是否成功 tsc -V 二.创建ts文件 1.创建一个day01.ts文件&#xff0c;随便在里面码一点代码&…...

【常见相机模型】

常见相机模型 enum class Type {kPinhole 0,kUnifiedProjection 1,kOmni 2, //optimize_on_spherekEqFisheye 3};其余类型optimize_on_plane这4种类型的相机模型具有以下差异&#xff1a; kPinhole (针孔相机模型)&#xff1a;这是最基本和常见的相机模型。它假设光线通过…...

大数据-玩转数据-Flink状态编程(上)

一、Flink状态编程 有状态的计算是流处理框架要实现的重要功能&#xff0c;因为稍复杂的流处理场景都需要记录状态&#xff0c;然后在新流入数据的基础上不断更新状态。 SparkStreaming在状态管理这块做的不好, 很多时候需要借助于外部存储(例如Redis)来手动管理状态, 增加了编…...

主动获取用户的ColaKey接口

主动获取用户的ColaKey接口 一、主动获取用户的ColaKey接口二、使用步骤1、接口***重要提示:建议使用https协议,当https协议无法使用时再尝试使用http协议***2、请求参数 三、 请求案例和demo1、请求参数例子&#xff08;POST请求&#xff0c;参数json格式&#xff09;2、响应返…...

C#写一个UDP程序判断延迟并运行在Centos上

服务端 using System.Net.Sockets; using System.Net;int serverPort 50001; Socket server; EndPoint client new IPEndPoint(IPAddress.Any, 0);//用来保存发送方的ip和端口号CreateSocket();void CreateSocket() {server new Socket(AddressFamily.InterNetwork, SocketT…...

Kafka核心原理第二弹——更新中

架构原理 一、高吞吐机制&#xff1a;Batch打包、缓冲区、acks 1. Kafka Producer怎么把消息发送给Broker集群的&#xff1f; 需要指定把消息发送到哪个topic去 首先需要选择一个topic的分区&#xff0c;默认是轮询来负载均衡&#xff0c;但是如果指定了一个分区key&#x…...

网上接活做的网站/上海优化网站seo公司

HelloAndroid调通&#xff0c;一直问题不断&#xff0c;耗时2天。写下来&#xff0c;希望对大家有所帮助。 问题描述如下&#xff0c; 1、找不到D:\workplaceEclipseAndroid\appcompat_v7\bin\下*appcompat_v7*jar包&#xff0c;一看目录&#xff0c;根本不存在这个jar包。 …...

网站如何做404页面/石家庄网站seo外包

python中的用法是一个装饰器&#xff0c;针对函数&#xff0c;起调用传参的作用。有修饰和被修饰的区别&#xff0c;function作为一个装饰器&#xff0c;用来修饰紧跟着的函数&#xff08;可以是另一个装饰器&#xff0c;也可以是函数定义&#xff09;。代码1结果1Its funA分析…...

甘肃手机网站建设/seo算法是什么

新人大礼包&#xff0c;30G Java架构资料&#xff0c;免费领取​zhuanlan.zhihu.comTomcat性能调优&#xff1a;找到Tomcat根目录下的conf目录&#xff0c;修改server.xml文件的内容。对于这部分的调优&#xff0c;我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomc…...

专业做幼儿园设计的网站/日本比分预测

参考 温绍景-Java虚拟机基础...

wordpress 添加样式表/营销策划方案ppt

java提供了System类可以让我们和操作系统打交道&#xff0c;我们可以使用System.getProperty(参数名)和System.getProperties()获取操作系统的相关属性。所以可以利用System.getProperty()获取当前的工作目录&#xff1a;System.getProperty("user.dir")也可以使用Sy…...

个人空间备案网站名称/网站增加外链的方法有哪些

关注公众号【秋叶 Excel】回复关键词【工具】获取 Excel 高效小工具合集&#xff0c;让你效率开挂&#xff01;本文作者&#xff1a;竺兰本文来源&#xff1a;秋叶Excel(ID:Excel100)本文编辑&#xff1a;思雨、竺兰距离下班还有俩小时&#xff0c;我伸了伸懒腰&#xff0c;想着…...