English | 简体中文
这是适用于dayjs的一个插件,为dayjs赋予操作UTC时区的功能
- Via NPM:
npm i dayjs-plugin-utc --save
import dayjsPluginUTC from 'dayjs-plugin-utc'
dayjs.extend(dayjsPluginUTC)
- Via CDN:
<!-- Latest compiled and minified JavaScript -->
<script src="https://unpkg.com/dayjs"></script>
<script src="https://unpkg.com/dayjs-plugin-utc"></script>
<script>
dayjs.extend(dayjsPluginUTC.default)
</script>
⚠️ 注意⚠️ 当你 没使用 这个插件的时候,
dayjs()
返回的是基于你环境时区的实例dayjs('2018-05-18T03:04:05+06:00').format() // 2018-05-18T05:04:05+08:00而在你加载这个插件之后,
dayjs()
返回实例的时区将会与你传入的值有关dayjs.extend(dayjsPluginUTC) dayjs('2018-05-18T03:04:05+06:00').format() // 2018-05-18T03:04:05+06:00如果你希望新建的实例的时区总是基于你本地时区,或者你使用这个插件之前已经在项目中使用了dayjs
你可以在引入插件时附上这个参数
parseToLocal: true
dayjs.extend(dayjsPluginUTC, { parseToLocal: true }) dayjs('2018-05-18T03:04:05+06:00').format() // 2018-05-18T05:04:05+08:00
获得一个时区为UTC的实例
dayjs.utc()
dayjs.utc('2018-05-18T03:04:05+06:00')
/* (string | number | Date | Dayjs) 使用方法与 dayjs() 一致 */
你可以使用dayjs().utcOffset()
来获取实例与UTC的时间差
注意:
dayjs().utcOffset()
返回的是与UTC真实的 分钟 时差,与Date.prototype.getTimezoneOffset
返回一个相反值不同
你也可以使用dayjs().isLocal()
或dayjs().isUTC()
来确认当前实例的时区是否为本地时区或是否为UTC时区
dayjs().utcOffset() // (-480, -120, 0, 120, 480, etc.)
dayjs().isLocal() // true
dayjs().isUTC() // false
使用dayjs().utc()
和dayjs().local()
可以将实例的时区切换到UTC或本地时区,你也可以使用dayjs().utcOffset(Number)
将实例设置到一个指定的时区
let day = dayjs('2018-05-18T03:04:05+06:00')
day.utc().format() // 2018-05-17T21:04:05+00:00
day.local().format() // 2018-05-18T05:04:05+08:00
day.utcOffset(240).format() // 2018-05-18T01:04:05+04:00