Day.js的基本用法

Day.js的基本用法

2024-06-06 09:25:003 浏览1775作者:dreamk技术

Day.js 设计为链式调用风格,每次调用dayjs的方法都会返回一个dayjs对象。

1. 解析时间

  1. 获取当前时间:dayjs()
  2. 解析 ISO 8601(opens new window)格式的字符串:dayjs('2018-04-04T16:00:00.000Z')
  3. 解析毫秒级时间戳:dayjs(1318781876406)
  4. 解析秒级时间戳:dayjs.unix(1318781876),支持带小数点
  5. 时间校验(不严格,只检查该事件能否被dayjs解析,不判断是否是一个合法的时间):dayjs对象.isValid()

2. 取值和赋值(不穿值的情况下是取值,传值的情况下是赋值):

  1. 获取毫秒/设置毫秒:dayjs对象.millisecond(),接收0-999的数字,超出这个范围会进位到秒
  2. 获取秒/设置秒:dayjs对象.second(),接收0-59的数字,超出这个范围会进位到分钟
  3. 获取分钟/设置分钟:dayjs对象.minute(),接收0-59的数字,超出这个范围会进位到小时
  4. 获取小时/设置小时:dayjs对象.hour(),接收0-23的数字,超出这个范围会进位到天数
  5. 获取日期/设置日期:dayjs对象.date(),接收1-31的数字,超出这个范围会进位到月份
  6. 获取星期/设置星期:dayjs对象.day(),接收0-6的数字,超出这个范围会进位到周
  7. 获取月/设置月:dayjs对象.month(),接收0-11的数字,超出这个范围会进位到年份
  8. 获取年/设置年:dayjs对象.year(),接收数字
  9. 额外的获取方式:dayjs对象.get(),接受一个字符串:year | month | day | date ...
  10. 额外的设置方式:dayjs对象.set(),接收两个参数,第一个接收字符串:year | month | day | date ...,第二个接收设置的值,要求是number

3. 时间的改变(支持链式操作)

  1. 时间的增加:dayjs对象.add(),第一个参数是加多少,第二个参数是加到什么上:year | month | day | date ...
  2. 时间的减少:dayjs对象.subtract(),第一个参数是减多少,第二个参数是减到什么上:year | month | day | date ...
  3. 设置时间的开始:dayjs对象.startOf(),接收一个参数,用于判断设置到什么上的开始时间:year | month | day ...
  4. 设置时间的结束:dayjs对象.endOf(),接收一个参数,用于判断设置到什么上的结束时间:year | month | day ...

4. 时间的格式化:dayjs对象.format(),接收一个字符串参数,可选组合格式如下

标识示例描述
YY18年,两位数
YYYY2018年,四位数
M1-12月,从1开始
MM01-12月,两位数
MMMJan-Dec月,英文缩写
MMMMJanuary-December月,英文全称
D1-31
DD01-31日,两位数
d0-6一周中的一天,星期天是 0
ddSu-Sa最简写的星期几
dddSun-Sat简写的星期几
ddddSunday-Saturday星期几,英文全称
H0-23小时
HH00-23小时,两位数
h1-12小时, 12 小时制
hh01-12小时, 12 小时制, 两位数
m0-59分钟
mm00-59分钟,两位数
s0-59
ss00-59秒,两位数
S0-9毫秒(十),一位数
SS00-99毫秒(百),两位数
SSS000-999毫秒,三位数
Z-05:00UTC 的偏移量,±HH:mm
ZZ-0500UTC 的偏移量,±HHmm
AAM / PM上/下午,大写
aam / pm上/下午,小写
Do1st... 31st月份的日期与序号

5. 时间的比较

  1. 判断时间是否在某个时间之前:dayjs对象.isBefore(dayjs对象)
  2. 判断时间是否在某个时间之后:dayjs对象.isAfter(dayjs对象)
  3. 判断时间是否和某个时间相同(毫秒级比较):dayjs对象.isSame(dayjs对象),可以传入第二个参数时间比较的级别:year | month | day ...

评论区

0 条评论

还没有评论,欢迎成为第一个留言的人。