安装
npm
npm install dayjs
yarn
yarn add dayjs
导入
import dayjs from "dayjs"
// dayjs()默认获取当前时间
dayjs().format('YYYY-MM-DD')
用法
格式化
dayjs().format()
// 默认返回的是 ISO8601 格式字符串 '2020-04-02T08:02:17-05:00'
dayjs('2019-01-25').format('[YYYYescape] YYYY-MM-DDTHH:mm:ssZ[Z]')
// 'YYYYescape 2019-01-25T00:00:00-02:00Z'
dayjs('2019-01-25').format('DD/MM/YYYY') // '25/01/2019'
支持的格式化占位符列表:
| 标识 | 示例 | 描述 |
|---|---|---|
| YY | 18 | 年,两位数 |
| YYYY | 2018 | 年,四位数 |
| M | 1-12 | 月,从1开始 |
| MM | 01-12 | 月,两位数 |
| MMM | Jan-Dec | 月,英文缩写 |
| MMMM | January-December | 月,英文全称 |
| D | 1-31 | 日 |
| DD | 01-31 | 日,两位数 |
| d | 0-6 | 一周中的一天,星期天是 0 |
| dd | Su-Sa | 最简写的星期几 |
| ddd | Sun-Sat | 简写的星期几 |
| dddd | Sunday-Saturday | 星期几,英文全称 |
| H | 0-23 | 小时 |
| HH | 00-23 | 小时,两位数 |
| h | 1-12 | 小时, 12 小时制 |
| hh | 01-12 | 小时, 12 小时制, 两位数 |
| m | 0-59 | 分钟 |
| mm | 00-59 | 分钟,两位数 |
| s | 0-59 | 秒 |
| ss | 00-59 | 秒,两位数 |
| S | 0-9 | 毫秒(十),一位数 |
| SS | 00-99 | 毫秒(百),两位数 |
| SSS | 000-999 | 毫秒,三位数 |
| Z | -05:00 | UTC 的偏移量,±HH:mm |
| ZZ | -0500 | UTC 的偏移量,±HHmm |
| A | AM / PM | 上/下午,大写 |
| a | am / pm | 上/下午,小写 |
| Do | 1st... 31st | 月份的日期与序号 |
| ... | ... | 其他格式 ( 依赖 AdvancedFormat 插件 ) |
操作
相对于给定时间,增加或减少天数
dayjs('2019-01-25').add(1, 'day').subtract(1, 'year').year(2009).toString()
增加
返回增加一定时间的复制的 Day.js 对象。
dayjs().add(7, 'day')
支持的单位列表:
| 单位 | 缩写 | 描述 |
|---|---|---|
| day | d | 日 |
| week | w | 周 |
| month | M | 月份(0-11) |
| quarter | Q | 季度,依赖 QuarterOfYear 插件 |
| year | y | 年 |
| hour | h | 小时 |
| minute | m | 分钟 |
| second | s | 秒 |
| millisecond | ms | 毫秒 |
减去
返回减去一定时间的复制的 Day.js 对象。
dayjs().subtract(7, 'year')
时间的开始
返回复制的 Day.js 对象,并设置到一个时间的开始。(比如设置为year,就是当年的第一天)
dayjs().startOf('year')
支持的单位列表:
| 单位 | 缩写 | 描述 |
|---|---|---|
| date | D | 当天 00:00 |
| day | d | 当天 00:00 |
| month | M | 本月1日上午 00:00 |
| quarter | Q | 本季度第一个月1日上午 00:00,依赖 QuarterOfYear 插件 |
| year | y | 今年一月1日上午 00:00 |
| week | w | 本周的第一天上午 00:00 |
| isoWeek | 本周的第一天上午 00:00 (根据 ISO 8601) , ( 依赖 IsoWeek 插件 ) | |
| hour | h | 当前时间,0 分、0 秒、0 毫秒 |
| minute | m | 当前时间,0 秒、0 毫秒 |
| second | s | 当前时间,0 毫秒 |
时间的结束
返回复制的 Day.js 对象,并设置到一个时间的末尾。(比如设置为year,就是当年的最后一天)
dayjs().endOf('month')