Day.js怎样处理JavaScript中的日期
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇文章为大家展示了Day.js怎样处理JavaScript中的日期,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。为什么使用day.js首先,使用day.js
千家信息网最后更新 2025年02月01日Day.js怎样处理JavaScript中的日期为什么使用day.js
没有day.js我们怎么办
Day.js 例子
5. 减去日、月、年、时、分、秒
使用插件来扩展功能
本篇文章为大家展示了Day.js怎样处理JavaScript中的日期,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
为什么使用day.js
首先,使用day.js能够帮助我们更简单的处理JavaScript中的日期和时间。
在JavaScript中处理时间的库你可能听说很多,比如Moment,但都2021年了,其实是非常不推荐使用moment.js的,因为作为日期处理工具,它过于的笨重,day.js是更现代并且更轻量化,更加容易扩展的一个库。
Moment.js
Day.js
它非常轻量化,因为它可以利用TreeShaking,并且通过插件的方式来进行扩展,我们可以根据自己的需求去引入插件,所以我们最后只会引入我们需要的东西。
没有day.js我们怎么办
在原生的JavaScript中,我们要获取当前的日期要这样
const today = new Date();const dd = String(today.getDate()).padStart(2, '0'); // 日const mm = String(today.getMonth() + 1).padStart(2, '0'); // 月const yyyy = today.getFullYear(); // 年const curDate = `${yyyy}-${mm}-${dd}`console.log(curDate)// 输出: 2021-09-17在day.js中我们只需这样,当然不止这样,还支持很多功能。import dayjs from "dayjs";const curDate = dayjs().format('YYYY-MM-DD');console.log(curDate)// 输出: 2021-09-17
Day.js 例子
现在我们来看一些实用、有趣的例子,与原生API相比,它更加简单,而且可读性更强。
1. 获取两个日期相差的天数
import dayjs from "dayjs";// 第二个参数指定为'day'代表以日为颗粒度dayjs(new Date(2021, 10, 1)).diff(new Date(2021, 9, 17), "day"); // 输出: 15
2. 检查日期是否合法
import dayjs from "dayjs";dayjs("20").isValid(); // 输出: falsedayjs("2021-09-17").isValid(); // 输出: true
3. 获取输入日期月份的天数
import dayjs from "dayjs";dayjs("2021-09-13").daysInMonth() // 输出: 30
4. 添加日、月、年、时、分、秒
import dayjs from "dayjs";dayjs("2021-09-17 08:10:00").add(20, "minute").format('YYYY-MM-DD HH:mm:ss') // 输出: 2021-09-17 08:30:00
5. 减去日、月、年、时、分、秒
查看文档
import dayjs from "dayjs";dayjs("2021-09-17 08:10:00").subtract(20, "minute").format('YYYY-MM-DD HH:mm:ss')// 输出: 2021-09-17 07:50:00
使用插件来扩展功能
1. RelativeTime
获取指定时间到现在的时间差。
import dayjs from "dayjs";import relativeTime from "dayjs/plugin/relativeTime";dayjs.extend(relativeTime);dayjs("2021-09-16 13:28:55").fromNow();// 输出: 9 hours ago
下面是所有的输出表
Range | Key | Sample Output |
---|---|---|
0 to 44 秒 | s | a few seconds ago |
45 to 89 秒 | m | a minute ago |
90 秒 to 44 分钟 | mm | 2 minutes ago ... 44 minutes ago |
45 to 89 分钟 | h | an hour ago |
90 分钟 to 21 小时 | hh | 2 hours ago ... 21 hours ago |
22 to 35 小时 | d | a day ago |
36 小时 to 25 天 | dd | 2 days ago ... 25 days ago |
26 to 45 天 | M | a month ago |
46 天 to 10 月 | MM | 2 months ago ... 10 months ago |
11 月 to 17月 | y | a year ago |
18 月+ | yy | 2 years ago ... 20 years ago |
2. WeekOfYear
获取指定日期是当年的第几周
import dayjs from "dayjs";import weekOfYear from "dayjs/plugin/weekOfYear";dayjs.extend(weekOfYear);dayjs("2021-09-13 14:00:00").week(); // 输出: 38
3. IsSameOrAfter
检查一个日期是否等于或者大于一个日期
import dayjs from "dayjs";import isSameOrAfter from "dayjs/plugin/isSameOrAfter";dayjs.extend(isSameOrAfter);dayjs("2021-09-17").isSameOrAfter("2021-09-16"); // 输出: true
4. MinMax
获取数组中最大的日期,或者最小的日期
import dayjs from "dayjs";import minMax from "dayjs/plugin/minMax";dayjs.extend(minMax)const maxDate = dayjs.max([ dayjs("2021-09-13"), dayjs("2021-09-16"), dayjs("2021-09-20")])const minDate = dayjs.min([ dayjs("2021-09-13"), dayjs("2021-09-16"), dayjs("2021-09-20")])maxDate.format('YYYY-MM-DD HH:mm:ss') // 输出: 2021-09-20 00:00:00minDate.format('YYYY-MM-DD HH:mm:ss') // 输出: 2021-09-13 00:00:00
5. IsBetween
检查指定日期是否在指定的日期范围内
import dayjs from "dayjs";import isBetween from "dayjs/plugin/isBetween";dayjs.extend(isBetween);// 使用日为颗粒度进行比较dayjs("2010-10-21").isBetween(dayjs("2010-10-20"), dayjs("2010-10-25"), "day");// 输出: true// 使用年为颗粒度进行比较dayjs("2010-10-21").isBetween(dayjs("2010-10-20"), dayjs("2010-10-25"), "year");// 输出: false
上述内容就是Day.js怎样处理JavaScript中的日期,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
输出
日期
处理
时间
小时
插件
颗粒
检查
例子
内容
功能
天数
技能
知识
合法
实用
最大
最小
有趣
笨重
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖北数据网络安全工程联系方式
四年级网络安全手抄报字少简单
服务器A级好还是C级好
mc服务器末地
警方网络安全意识
怎样打开服务器管理器
农批物业管理软件开发公司
增城区光纤网络技术开发展示
qq空间关了怎么清空数据库
软件开发 联系单范本
沭阳im即时通讯软件开发
网络技术研究院 廖军
cpu处理哪里的数据库
还原数据库指下的转换无效
服务器默认管理口ip
创建和修改用户数据库代码
传感器网络技术的工作原理
数据库回车就闪退
联合国人口数据库
软件开发合同质保金是多少
芜湖市微远网络技术公司
海鹰网络技术钉钉直播下载器
凯旋网络技术有限公司
数据库课设运行环境
坚持网络安全两手抓
网络ip数据包扩展数据库
福建质量网络技术咨询哪家强
软件开发企业研发支出账务
冬奥网络安全值守
.net软件开发兼职网