dayjs时间处理库的基本使用

Posted 马飞飞X

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dayjs时间处理库的基本使用相关的知识,希望对你有一定的参考价值。

1获取当前时间

let a = dayjs()

2 时间格式化

let endTime = dayjs().format('YYYY-MM-DD')

 3 获取当前时间之前的时间  day.js可以轻松获取N小时/天/月/年等时间,如以下代码获取的是14天的时间:

 let startTime = dayjs().subtract(14,'day').format('YYYY-MM-DD') 

4.N时间后

day.js也可以轻松获取N时间后的时间,如以下代码获取的是7天后的时间:

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

 

5.开始时间

day.js可以获取一月/一等的开始时间,如以下代码获取本第一天的时间(星期一):

dayjs().startOf('week')

6.末尾时间

day.js可以获取一月/一等的末尾时间,如以下代码获取本月最后一天时间:

dayjs().endOf('month')

7.两个时间差

day.js可以获取两个不同时间的差,如2020-09-25和2020-06-05相差112天:

const date1 = dayjs('2020-09-25');
date1.diff('2020-06-05', 'day'); // 112

8.Unix 时间戳

day.js可以轻松转换秒级和毫秒级时间戳:

dayjs().unix(); //秒
dayjs().valueOf(); //毫秒

9.获取月份天数

day.js可以轻松获取一个月的天数是30天还是31天还是28或29天。

dayjs().daysInMonth() //30,(2020年9月共30天)

10.距离当时刻

我们经常看到显示“1分钟”、“3小时内”等时间转换后显示效果,dayjs也可以轻松实现:

dayjs('2020-09-27 18:22:32').fromNow(); //3小时
dayjs('2020-09-26 10:22:32').toNow(); //1天内

fromNow()表示距离当时刻,toNow()表示相对当时刻,其实感觉意思差不多。

不过要想fromNow()toNow()生效,需要使用插件 RelativeTime,方法是先引入插件,再执行调用方法:

import relativeTime from 'dayjs/plugin/relativeTime';
dayjs.extend(relativeTime);

[moment][dayjs]使用的小小区别

moment 和 dayjs 是前端项目中常用的工具,项目里二者选一就可以了。
moment,dayjs在使用过程中的区别。

moment支持number类型直接转换为时间对象。
dayjs不支持number类型直接转换,必须用string类型

moment
将指定格式字符串/ 数字,解析为moment时间对象,它的包含了JS原生时间对象
(JS原生时间对象 -> Thu Apr 29 2021 10:06:58 GMT+0800 (中国标准时间))。

如 let a = 202009201423 (2020年9月20日 14:23) typeof(a) -> number

moment支持number类型直接转换
let dateObj = moment(a,”YYYYMMDDHHmm”); // moment date Object

转为时间戳
let timestamp = dateObj.valueOf(); // valueOf() 是JS的原生方法。
// let timestampBymoment = moment(a,”YYYYMMDDHHmm”).valueOf() //也可

转为指定格式的字符串,必须用moment( xxx ).format()。
moment(a,”YYYYMMDDHHmm”).format(“YYYY-MM-DD”);
moment(a,”YYYYMMDDHHmm”).valueOf().format(“YYYY-MM-DD”);
moment支持moment时间对象转指定格式。
也支持原生时间对象转指定格式。
还支持时间戳转指定格式。

dayjs
dayjs不支持number类型直接转换,必须用string类型
dayjs(a.toString(),”YYYYMMDDHHmm”)

注意: HH 是24小时制 hh是12小时制

同步发布于自己的语雀
https://www.yuque.com/diracke...

以上是关于dayjs时间处理库的基本使用的主要内容,如果未能解决你的问题,请参考以下文章

[moment][dayjs]使用的小小区别

《基于Vue.js的Web前端应用研究》文献阅读(十五)

vue项目使用dayjs

#1元学编程# Vue.js 2.x 入门与提高

轻量的处理时间和日期的Day.js库-使用案例

ReactAngular当前,Vue.js优劣几何?