-
什么是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官方地址
-
怎么使用?
-
格式化占位符
占位符 输出 详情 YY 20 两位数的年份 YYYY 2020 四位数的年份 M 1-12 月数,从1开始 MM 01-12 月数,两位数 MMMM Jan-Dec 缩写的月份名称 MMMM January-December 完整的月份名称 D 1-31 月份里的一天 DD 01-31 月份里的一天,两位数 d 0-6 一周中的一天 dd Su-Sa 最简写的星期几 ddd Sun-Sat 简写的星期几 dddd Sunday-Saturday 星期几 H 0-23 小时,24小时制 HH 00-23 小时,24小时制,两位数 h 1-12 小时,12小时制 hh 01-12 小时,12小时制,两位数 m 0-59 分钟 mm 00-59 分钟,两位数 s 0-59 秒 ss 00-59 秒,两位数 SSS 000-999 毫秒,三位数 Z +05:00 UTC 的偏移量,±HH:mm ZZ +0500 UTC 的偏移量,±HHmm A AM PM 上午/下午,大写 a am pm 上午/下午,小写 本地格式化
占位符 英语语音 示例输出 LT h:mm A 8:02 PM LTS h:mm:ss A 8:02:18 PM L MM/DD/YYYY 08/16/2018 常用时间格式化示例:
首先需要在项目中引入Day.js
1npm install dayjs --save1
2
3
4
5
6
7dayjs('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 是否在另一个提供的日期时间之后
示例:
1dayjs(new Date).isAfter(dayjs('2018-08-08')) -
操作
add 增加一定时间
subtract 减少一定时间
支持的单位格式如下:
单位 缩写 详情 day d 天 week w 周 month M 月 quarter Q 季度 year y 年 hour h 小时 minute m 分 second s 秒 millisecond ms 毫秒 使用示例:
1ayjs().add(7, 'day')
-