同时兼容浏览器和node
import dayjs from 'dayjs'
// import * as dayjs from 'dayjs'
dayjs() // 当前时间
dayjs().format()
tsconfig.json
{ //tsconfig.json
"compilerOptions": {
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
}
}
本地化语言
import isLeapYear from 'dayjs/plugin/isLeapYear' // 闰年
import 'dayjs/locale/zh-cn'
dayjs.extend(isLeapYear) // 使用插件
dayjs.locale('zh-cn') // 本地化语言
格式化 YYYY-MM-DD HH:mm:ss
就足够了
时区。默认格式化是本地时间,不需要考虑 UTC 的问题,除非使用 utc 插件
时间日期取值。dayjs().second()
,可以取值可以赋值。显然这里支持 second/millisecond/minute/hour/date日期/day星期几0星期日-6星期六/
日期操作。dayjs().add(1,'day').subtract(1,'year')
增加减少单位。
获取起止日期。dayjs().startOf('year')
获取年份。endOf('monnth')
终止。
多个日期的 a.diff(b)
插件用法:
- custom
- ObjectSupport 这个使用来出传递对象设置时间的,作用不大
- ArraySupport 传递数据的长度,一次表示各个时间节点,注意月份0,作用不大
toArray
日期转成数组。- utc 插件,进入UTC时间
isoWeek
要 extend 使用,这个一定要用,我们默认周一是第一天dayjs().isoWeekday(1)
weekdayjs
extend 先,今天星期几,可以设置 0,这取决于 isoWeek 的设置dayOfYear
extend先,获取、设置年份的第几天weekOfYear
extend先,获取、设置今年的第几周quarterOfYear
extend先,获取、设置季度weekYear``weekOfYear
获取按周计算的年份relativeTime
相对时间 dayjs().fromNow() 几秒前,如何自定义 https://dayjs.gitee.io/docs/zh-CN/display/from-nowcalendar
日历时间,举例跟定时间到现在的相对时间,相对日期