js 时间转东八区_dayjs处理utc转换

"常规的时间处理直接使用 [dayjs](https://www.npmjs.com/package/dayjs) 库就可以满足了,大而全一些的就使用 [momnet.js](http://momentjs.cn/) 处理吧\n\ndayjs适合移动端或网站对时间处理没那么复杂的,比较轻量\n\nmoment.js是一个功能非常齐全的处理时间的类库,在PC站上使用比较合适,毕竟使用wifi比使用流量好多了,哈哈\n\n如果一般项目已经使用了dayjs,突然来个需求要处理utc时间转换,这时又不想再下载momnet.js,有以下两个方式可以处理\n\n### 一、手写\n\n```\nvar bjTimestamp = 1584027168;\nvar localTimezoneMinutes = 420; // 每个时区间隔1小时,转换为分钟就是60,420也就是东七区,60 * 7 = 420,而480就表示东八区转换为秒为28800\nvar localTime = dayjs((bjTimestamp + (localTimezoneMinutes - 480) * 60) * 1000).format('YYYY-MM-DD');\n```\n\n### 二、下载dayjs-plugin-utc扩展插件\n\nnpm安装地址:https://www.npmjs.com/package/dayjs-plugin-utc\n\n引入后直接使用utfOffset做时区偏移就行了\n\n```\nimport dayjs from 'dayjs'\nimport dayjsPluginUTC from 'dayjs-plugin-utc'\n \ndayjs.extend(dayjsPluginUTC)\n\n// 计算当地时间\nfunction calcLocalTime (bjTimestamp, localTimezoneMinutes, format) {\n if (bjTimestamp && localTimezoneMinutes) {\n return dayjs(bjTimestamp * 1000)\n .utcOffset(localTimezoneMinutes)\n .format(format || \"YYYY-MM-DD HH:mm\");\n }\n return \"--\";\n}\ncalcLocalTime(1584027168, 420);\n```\n\n> 补充介绍一下,utc时间,世界调整时,就是各个时区的时间不一样,像北京时间是8点,那东京时间就是9点,比我们多了一个时区。之所以要转换时间,是因为手机时间会根据时区自动调整,假如我们坐一个航班8点出发到东京2个小时,我们手机当时看是10点到达,如果你到了东京手机上显示的时间应该是11点到达。\n\n"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值