dayjs时区转换
-
import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; import timezone from 'dayjs/plugin/timezone'; // dayjs提供两个插件,然后就可以调用tz方法,将本地时间转换成指定时区的时间了 dayjs.extend(utc); dayjs.extend(timezone); // 获取当前本地时间 const localTime = dayjs(); // getTimezoneOffset() 方法返回协调世界时(UTC)相对于当前时区的时间差值,单位为分钟。 // 注意:本地时间+这个差值=世界时间 // 比如北京市东8区,此方法返回-480分钟,可以根据这个值算出时区 console.log('相对于当前时区的时间差值', new Date().getTimezoneOffset()); // -480 // 创建一个时区映射表:UTC+X <-> IANA 时区名称 const timezoneMap = { 0: 'UTC', 1: 'Europe/Paris', // UTC+1 2: 'Europe/Berlin', // UTC+2 3: 'Europe/Moscow', // UTC+3 4: 'Asia/Dubai', // UTC+4 5: 'Asia/Karachi', // UTC+5 5.5: 'Asia/Kolkata', // UTC+5:30 6: 'Asia/Almaty', // UTC+6 7: 'Asia/Bangkok', // UTC+7 8: 'Asia/Shanghai', // UTC+8 9: 'Asia/Tokyo', // UTC+9 10: 'Australia/Sydney', // UTC+10 11: 'Pacific/Guam', // UTC+11 12: 'Pacific/Auckland', // UTC+12 '-1': 'Atlantic/Azores', // UTC-1 '-2': 'Atlantic/South_Georgia', // UTC-2 '-3': 'America/Argentina/Buenos_Aires', // UTC-3 '-4': 'America/Caracas', // UTC-4 '-5': 'America/New_York', // UTC-5 '-6': 'America/Chicago', // UTC-6 '-7': 'America/Denver', // UTC-7 '-8': 'America/Los_Angeles', // UTC-8 '-9': 'America/Anchorage', // UTC-9 '-10': 'Pacific/Honolulu', // UTC-10 '-11': 'Pacific/Midway', // UTC-11 '-12': 'Pacific/Kwajalein' // UTC-12 }; /** * 转换时区 * @param date 本地时间 * @param zone 目标时区 */ function changeTimezone(date, timezone=8){ return dayjs(date).tz(timezoneMap[timezone]); } console.log('当前时间', dayjs(Date.now()).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 22:30:20 console.log('0时区', changeTimezone(Date.now(), 0).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 14:26:15 console.log('1时区', changeTimezone(Date.now(), 1).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 15:26:15 console.log('2时区', changeTimezone(Date.now(), 2).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 15:30:20 console.log('3时区', changeTimezone(Date.now(), 3).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 17:30:20 console.log('4时区', changeTimezone(Date.now(), 4).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 18:30:20 console.log('5时区', changeTimezone(Date.now(), 5).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 19:30:20 console.log('6时区', changeTimezone(Date.now(), 6).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 19:30:20 console.log('7时区', changeTimezone(Date.now(), 7).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 21:30:20 console.log('8时区', changeTimezone(Date.now(), 8).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 22:30:20 console.log('9时区', changeTimezone(Date.now(), 9).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 23:30:20 console.log('10时区', changeTimezone(Date.now(), 10).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 01:30:20 console.log('11时区', changeTimezone(Date.now(), 11).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 00:30:20 console.log('12时区', changeTimezone(Date.now(), 12).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 03:30:20 console.log('-12时区', changeTimezone(Date.now(), -12).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 02:30:20 console.log('-11时区', changeTimezone(Date.now(), -11).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 03:30:20 console.log('-10时区', changeTimezone(Date.now(), -10).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 04:30:20 console.log('-9时区', changeTimezone(Date.now(), -9).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 05:30:20 console.log('-8时区', changeTimezone(Date.now(), -8).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 06:30:20 console.log('-7时区', changeTimezone(Date.now(), -7).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 07:30:20 console.log('-6时区', changeTimezone(Date.now(), -6).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 08:30:20 console.log('-5时区', changeTimezone(Date.now(), -5).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 09:30:20 console.log('-4时区', changeTimezone(Date.now(), -4).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 10:30:20 console.log('-3时区', changeTimezone(Date.now(), -3).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 11:30:20 console.log('-2时区', changeTimezone(Date.now(), -2).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 12:30:20 console.log('-1时区', changeTimezone(Date.now(), -1).format('YYYY-MM-DD HH:mm:ss')); // xxxx-xx-xx 13:30:20
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2020-02-25 element-ui表单模板
2020-02-25 图片-滑动-解锁-组件-vue-canvas