# 操作
您可能需要一些方法来操作 Day.js 对象。
Day.js 支持像这样的链式调用:
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 对象增加一个 持续时间 。
# 减去
返回减去一定时间的复制的 Day.js 对象。
dayjs().subtract(7, 'year')
各个传入的单位对大小写不敏感,支持缩写和复数。
# 时间的开始
返回复制的 Day.js 对象,并设置到一个时间的开始。
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 对象,并设置到一个时间的末尾。
dayjs().endOf('month')
各个传入的单位对大小写不敏感,支持缩写和复数。
# 当前时区
返回一个在当前时区模式下的 Day.js 对象。
注意
此功能依赖 UTC 插件
dayjs.extend(utc)
var a = dayjs.utc()
a.format() // 2019-03-06T00:00:00Z
a.local().format() //2019-03-06T08:00:00+08:00
了解更多关于 UTC 模式 的信息。
# UTC
返回一个在 UTC 模式下的 Day.js 对象。
注意
此功能依赖 UTC 插件
dayjs.extend(utc)
var a = dayjs()
a.format() //2019-03-06T08:00:00+08:00
a.utc().format() // 2019-03-06T00:00:00Z
传入 true 将只改变 UTC 模式而不改变本地时间。
dayjs('2016-05-03 22:15:01').utc(true).format()
// 2016-05-03T22:15:01Z
# UTC偏移量
获取 UTC 偏移量 (分钟)。
dayjs().utcOffset()
也可以传入分钟来得到一个更改 UTC 偏移量的新实例。 请注意,一旦您设置了 UTC 偏移量,它将保持固定,不会自动改变 (即没有DST夏令时变更)。
注意
此功能依赖 UTC 插件
dayjs.extend(utc)
dayjs().utcOffset(120)
如果输入在-16到16之间,会将您的输入理解为小时数而非分钟。
// 以下两种写法是等效的
dayjs().utcOffset(8) // 设置小时偏移量
dayjs().utcOffset(480) // 设置分钟偏移量 (8 * 60)
第二个参数传入 true 可以只改变偏移量而保持本地时间不变。
dayjs.utc('2000-01-01T06:01:02Z').utcOffset(1, true).format()
// 2000-01-01T06:01:02+01:00