两段代码对比
1. 时间操作
2. 用Dayjs操作
哪段代码更容易理解?
显然,第二段代码更加的语义化,一眼就能看懂定时器的时长。
dayjs介绍
dayjs是一个core只有2kb的包,用于替代庞大的momentjs。它提供了相似的API,便于从momentjs迁移代码。
dayjs也设计了插件体系,一些不太常用的大体积功能可以用插件的方式引入。
dayjs的方法名直观表达意图,参数结构符合自然思维,并支持链式调用,可以减少出错的可能,推荐使用它替换代码中的手写时间日期操作代码。
常用场景介绍
从字符串parse时间
字符串需要满足ISO 8601标准。
JS Date & dayjs格式互转
时间的读 & 写
时间格式化
时间差异
时间前后比较
isAfter
isBefore
、isSame
API用法相同。
isSameOrAfter
、isSameOrBefore
=> 包含比较的边界,需要额外引入IsSameOrBefore
插件使用。
isBetween
: 判断是否在两个时间的中间,需要额外引入 IsBetween
插件使用。也支持传入比较的最低单位。
时间加减
例如从一个固定时间获取一个小时后的时间,可以用add
、subtract
实现。
时长对象
支持时长的加减
时间对象支持加减时长