本篇文章为大家展示了Day.js怎样处理JavaScript中的日期,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
首先,使用day.js能够帮助我们更简单的处理JavaScript中的日期和时间。
在JavaScript中处理时间的库你可能听说很多,比如Moment,但都2021年了,其实是非常不推荐使用moment.js的,因为作为日期处理工具,它过于的笨重,day.js是更现代并且更轻量化,更加容易扩展的一个库。
它非常轻量化,因为它可以利用TreeShaking,并且通过插件的方式来进行扩展,我们可以根据自己的需求去引入插件,所以我们最后只会引入我们需要的东西。
在原生的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
现在我们来看一些实用、有趣的例子,与原生API相比,它更加简单,而且可读性更强。
import dayjs from "dayjs"; // 第二个参数指定为'day'代表以日为颗粒度 dayjs(new Date(2021, 10, 1)).diff(new Date(2021, 9, 17), "day"); // 输出: 15
import dayjs from "dayjs"; dayjs("20").isValid(); // 输出: false dayjs("2021-09-17").isValid(); // 输出: true
import dayjs from "dayjs"; dayjs("2021-09-13").daysInMonth() // 输出: 30
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
查看文档
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
获取指定时间到现在的时间差。
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 |
获取指定日期是当年的第几周
import dayjs from "dayjs"; import weekOfYear from "dayjs/plugin/weekOfYear"; dayjs.extend(weekOfYear); dayjs("2021-09-13 14:00:00").week(); // 输出: 38
检查一个日期是否等于或者大于一个日期
import dayjs from "dayjs"; import isSameOrAfter from "dayjs/plugin/isSameOrAfter"; dayjs.extend(isSameOrAfter); dayjs("2021-09-17").isSameOrAfter("2021-09-16"); // 输出: true
获取数组中最大的日期,或者最小的日期
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:00 minDate.format('YYYY-MM-DD HH:mm:ss') // 输出: 2021-09-13 00:00:00
检查指定日期是否在指定的日期范围内
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中的日期,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。