Day.js使用小记

    技术2022-07-11  83

    什么是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')
    Processed: 0.009, SQL: 9