js日期处理库--dayjs

news2024/9/22 0:56:56

js中处理日期是一件比较麻烦的事情,这里推荐使用day.js库来处理,文档:Day.js中文网

引入库

如果没有引入过dayjs,需要先执行npm install,然后import就能使用了

npm install dayjs
import dayjs from 'dayjs'

console.log(dayjs().format())

如果使用的是element plus,可以直接使用

import { dayjs } from 'element-plus'

console.log(dayjs().format())

解析

可以看到dayjs相当强大,各种格式的都能解析

let now = dayjs() //返回当前时间
console.log(now.format())
let date = dayjs('2018-04-04T20:00:00.000Z') // 解析ISO 8601格式的字符串
console.log(date.format())
date = dayjs("2024-08-09") //解析YYYY-MM-DD格式的
console.log(date.format())
date = dayjs("2024-08-09 10:04:05") //解析YYYY-MM-DD HH:mm:ss格式的
console.log(date.format())

显示 

使用format函数来格式化日期,支持的格式化字符见下表

let now = dayjs() //返回当前时间
now.format('YYYY-MM-DD')
now.format('YYYY-MM-DD HH:mm:ss')
now.format('YYYY年MM月DD日')
输入示例描述
YY18两位数的年份
YYYY2018四位数的年份
M1-12月份,从 1 开始
MM01-12月份,两位数
D1-31月份里的一天
DD01-31月份里的一天,两位数
H0-23小时
HH00-23小时,两位数
h1-12小时, 12 小时制
hh01-12小时, 12 小时制, 两位数
m0-59分钟
mm00-59分钟,两位数
s0-59
ss00-59秒,两位数

 相对当前时间(前)

这个功能在发布文章,发布消息时很有用,我们在看评论时可以看到发布在多少时间前,这个用day.js可以轻松实现

//day.js默认使用英文,需要加载中文包
import 'dayjs/locale/zh-cn'
dayjs.locale('zh-cn')
// 使用relativeTime插件
import relativeTime from 'dayjs/plugin/relativeTime'
//相对当前时间(前)
dayjs.extend(relativeTime)
dayjs('2024-07-10 11:30:00').fromNow()

 时间的比较

// 默认比较毫秒数,所以2024-08-10就是比较10号的零点零分
dayjs().isBefore('2024-08-10') //是否在这之前
//默认比较毫秒数,如果想比较天数就传day
dayjs().isSame('2024-08-09', 'day')
dayjs().isAfter('2024-08-07') // 是否在这之后

时间的差异

diff函数可以返回两个日期间相差多少

const date1 = dayjs()
//比较两个时间差异,返回月份,整数
date1.diff('2024-07-01', 'month')
//第三个参数传true就会返回浮点数
date1.diff('2024-07-01', 'month', true)

支持的单位如下

单位缩写描述
weekw周(Week of Year)
dayd
monthM月份 (一月 0, 十二月 11)
quarterQ季度,依赖 QuarterOfYear 插件
yeary
hourh小时
minutem分钟
seconds
millisecondms毫秒

操作 

获取或设置年份

dayjs().year() //获取年份
dayjs().year(2000) //设置年份

获取或设置月份

传入0到11的 number。 如果超出这个范围,它会进位到年份。

dayjs().month()
dayjs().month(0)

获取或设置月份里的日期

接受1到31的数字。 如果超出这个范围,它会进位到月份。

dayjs().date()
dayjs().date(1)

增加 

返回增加一定时间的复制的 Day.js 对象。

dayjs().add(7, 'day')

减去 

返回减去一定时间的复制的 Day.js 对象。

dayjs().subtract(7, 'year')

支持链式调用

dayjs('2019-01-25').add(1, 'day').subtract(1, 'year').year(2009).toString()

 时间的开始或结束

返回指定时间的开始或结束,这在某些日期查询里面很有用,比如查结束日期往往要传那天的23:59:59,就可以用endOf('day')来实现

dayjs('2024-08-09').startOf('year') //返回2024-01-01T00:00:00+08:00
dayjs('2024-08-09').startOf('month')//返回2024-08-01T00:00:00+08:00

dayjs('2024-08-09').endOf('year') //返回2024-12-31T23:59:59+08:00
dayjs('2024-08-09').endOf('month')//返回2024-08-31T23:59:59+08:00

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1997302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode日记(67)单词搜索

太坑了!老是时间超限,不是时间超限就是内存超限! 思路很简单,就是先遍历整个网格寻找开头,然后上下左右搜寻找下一个字母,引用递归。 最终看边答案边写出来的: class Solution { public:bool …

36-《茅膏菜》:自然奇境中的捕虫艺术家

茅膏菜 腺毛闪烁诱昆虫,粘液缠绕捕食成。 绿叶如网藏陷阱,茅膏菜展捕虫情。 中文名:茅膏菜 拉丁名:Drosera peltata Thunb. 别名:捕虫草、落地珍珠、一粒金丹、苍蝇草、珍珠草 科属:茅膏菜科茅膏菜属 生…

词向量,位置嵌入;归一化;自注意力层;投影;残差连接:防止梯度消失;MLP;

目录 词向量,位置嵌入 归一化 自注意力层 我们该如何处理Q、K和V向量呢 投影 残差连接:防止梯度消失 MLP 层归一化处理 GELU激活函数 MLP Weights 和MLP Projection Weights区别和联系 一、MLP Weights 二、MLP Projection Weights:输入数据或隐藏层的输出投影到…

指针(1)-学习笔记

指针(1)-学习笔记 1.内存1.1内存 2.指针变量和地址2.1取地址操作符(&)2.2指针变量和解引用操作符(*)2.2.1 指针变量2.2.2解引用操作符 3 指针变量类型的意义3.1指针的解引用3.2指针-整数3.3 void*指针 …

PyTorch深度学习实战(7)—— 线性回归

线性回归是机器学习的入门内容,应用十分广泛。线性回归利用数理统计中的回归分析来确定两种或两种以上变量间相互依赖的定量关系,其表达形式为$y wxbe$。其中,$x$和$y$是输入输出数据,$w$和$b$是可学习参数,误差$e$服…

Pod的调度机制

文章目录 一、Pod调度概述二、Pod调度策略实现方式三、kube-scheduler调度1、kube-scheduler调度的流程2、过滤阶段3、打分阶段4、kube-scheduler 调度示例4.1、创建 Deployment 资源清单4.2、应用Deployment4.3、查看被kube-scheduler自动调度的Pod 四、nodeName调度1、创建Po…

MySQL操作2——表的的操作(增删查改)

创建表; 样例: 注意不同的存储引擎创建出来的表在目录下的个数不同 显示此数据库下的所有表:show tables; show create table name \G ——查看创建表时的具体信息 查看某个表的结构:desc 表名; 查看表中储存的数据&…

阿里云与优酷联袂:Create@AI江湖创作大赛,探索AI创新边界

随着网剧《少年白马醉春风》的热播,许多人心中的江湖梦被唤醒,渴望踏入那个充满传奇色彩的影视世界,体验一段属于自己的江湖之旅。在 AIGC 技术日益成熟的今天,这一梦想变得触手可及。阿里云携手优酷,发起了 Create A…

Hadoop YARN:现代大数据集群资源管理与作业调度

1.Yarn的概述 1.1.解释Yarn的定义和基本概念 Hadoop YARN(Yet Another Resource Negotiator)是 Hadoop 2.x 版本引入的一种资源管理器,用于管理和调度大数据集群中的资源,是 Hadoop 集群的核心组件之一。YARN 的设计目标是提高 H…

浅谈C语言动态内存分配

1、什么是动态内存分配 正常情况下,我们创建变量,都是向计算机内存中申请一个静态的内存,也就是说,一旦申请成功,这块内存的大小便不能再改变,并且能申请多少内存在一定程度上都是确定的。比如说&#xff…

【网络层】路由基础

文章目录 技术背景IP 路由工作原理IP路由表 技术背景 路由是能够让整个Internet持续运转的关键。回看之前的网络历史,最开始用一根网线将两台设备连接起来,面对面就能通信。到后面出现了交换机,能够让区域内的所有设备互相通信,形…

WPF篇(5)- Border控件(边框布局)+GridSplitter分割窗口

严格来说,Border并不是一个布局控件,因为它并不是Panel的子类,而是Decorator装饰器的子类,而Decorator继承于FrameworkElement。我们要先看看它的父类Decorator。 public class Decorator : FrameworkElement, IAddChild {public…

少儿编程 2024年6月scratch四级 电子学会图形化编程等级考试四级真题和答案解析(选择题)

2024年6月scratch编程等级考试四级真题 选择题(共10题,每题2分,共20分) 1、运行下列程序,输入单词“PLAY”最后角色说 A、LY4AP B、AP4LY C、YA4PL D、PL4AY 答案:B 考点分析:考查积木综合…

英伟达元宇宙平台Omniverse的学习,技术调研

NVIDIA Omniverse™ 是一个基于 USD (Universal Scene Description) 的可扩展平台,可使个人和团队更快地构建自定义 3D 工作流并模拟大型虚拟世界。 Omniverse:三维设计协同、模拟的开发平台,实现3D实时渲染,RTX光线追踪技术 协…

顺序表各种接口的实现(C)

线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。在物理结构上并不一定是连续的,线性表在物…

Qt 小功能:加载等待动画——转圈圈

加载等待动画实现——转圈圈 效果图:(看封面最好) 关键要点 流畅的动画: 使用 QTimer 每 50 毫秒更新一次动画,确保动画流畅。 视觉效果: 使用 QPainter 的平滑像素转换和抗锯齿选项,提高动画…

DHU OJ 循环结构 回文数字

思路及代码&#xff1a; 由于只考虑5位和6位回文数&#xff0c;3个 for 循环次数为9*10*10还可以&#xff0c;就直接遍历了 //input n int 10< <100 #include<iostream> using namespace std; int main(){int n;cin >> n;int ans 0; //solution //判断是…

HTML 元素提供的附加信息--属性 ——WEB开发系列03

HTML 属性是指用于描述 HTML 元素的额外信息&#xff0c;它们提供了元素的特定配置或行为&#xff0c;属性通常包含在 HTML 元素的开始标签中。 元素也可以拥有属性&#xff0c;属性看起来像这样&#xff1a; 属性是元素的附加信息&#xff0c;它们不会显示在实际内容中。在前述…

适合初学者的2024年数据恢复软件指南

现在大家应该经常会将数据存储在一些存储设备里。但这些设备可能会因为各种原因导致数据意外的丢失&#xff0c;这时候如果我们掌握了全免费的数据恢复工具的使用方式&#xff0c;就可以尽可能的避免数据丢失的情况。 1.福晰数据恢复 连接直达&#xff1a;https://www.pdf365…

跑腿代购app系统源码开发及功能分析

随着互联网技术的飞速发展和人们生活节奏的加快&#xff0c;跑腿代购服务作为一种便捷的生活方式&#xff0c;正逐渐渗透到我们日常生活的方方面面。从日常购物、餐饮外卖到文件传递、药品代购&#xff0c;跑腿服务以其高效、灵活的特点赢得了广大用户的青睐。而支撑这一服务高…