什么是Day.js?
Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果你曾经用过 Moment.js, 那么您已经知道如何使用 Day.js
从API上来看,Moment.js和Day.js的常用API基本一致,Moment.js里面包含的API较全,但常用API如果基本可以满足我们的开发需要,Day.js如需要其他API,可安装插件来实现。
从体积大小来看,Moment.js的体积大概200多KB,Day.js的体积只有20KB。
选择哪一个,可以根据实际情况来,我需要的只有常用的API,而且体积不能过大,所以选择了Day.js ,接下来我们可以看下常用时间处理操作。
Day.js官方地址
怎么使用?
格式化占位符
占位符输出详情YY20两位数的年份YYYY2020四位数的年份M1-12月数,从1开始MM01-12月数,两位数MMMMJan-Dec缩写的月份名称MMMMJanuary-December完整的月份名称D1-31月份里的一天DD01-31月份里的一天,两位数d0-6一周中的一天ddSu-Sa最简写的星期几dddSun-Sat简写的星期几ddddSunday-Saturday星期几H0-23小时,24小时制HH00-23小时,24小时制,两位数h1-12小时,12小时制hh01-12小时,12小时制,两位数m0-59分钟mm00-59分钟,两位数s0-59秒ss00-59秒,两位数SSS000-999毫秒,三位数Z+05:00UTC 的偏移量,±HH:mmZZ+0500UTC 的偏移量,±HHmmAAM PM上午/下午,大写aam pm上午/下午,小写本地格式化
占位符英语语音示例输出LTh:mm A8:02 PMLTSh:mm:ss A8:02:18 PMLMM/DD/YYYY08/16/2018常用时间格式化示例:
首先需要在项目中引入Day.js
npm install dayjs --save dayjs('2018-08-08').format('YYYY-MM-DD HH:mm') dayjs('2018-08-08').format('A LT') dayjs('2018-08-08').format('MM-DD HH:mm') dayjs('2018-08-08').format('YYYY-MM-DD HH:mm:ss') //GMT时间转换可能会出现14小时的误差,需要消除误差 dayjs('Wed Jul 01 11:14:19 CST 2020').subtract(14, 'hour').format('YYYY-MM-DD HH:mm')查询方法
isBefore 是否在另一个提供的日期时间之前
isSame 否和另一个提供的日期时间相同
isAfter 是否在另一个提供的日期时间之后
示例:
dayjs(new Date).isAfter(dayjs('2018-08-08'))操作
add 增加一定时间
subtract 减少一定时间
支持的单位格式如下:
单位缩写详情dayd天weekw周monthM月quarterQ季度yeary年hourh小时minutem分seconds秒millisecondms毫秒使用示例:
ayjs().add(7, 'day')