vue js 获取不同时区的当前时间,在特定时区格式化时间戳

前言

在做跨境电商项目的时候,遇到一个设置广告营销的跨时区的时间不匹配导致广告不能同步的问题,所以就想着如何解决。


相看到这个标题就会想到用时间戳解决这个问题,我一开始也是用的时间戳直接格式化的时间,(时间戳在全时间每个时区都是相同的),但是这样会有一个问题,就是你的服务器在北京,这样你的项目在美国中部标准时区(西六区)访问转时间戳出来的时间还是北京时间(东八区)

出现这个问题的原因是我用得moment.js换的时间,所以导致代码在哪里就转的那个时间,后来就采用了指定时区的办法,就得已完美解决。

解决办法 我是引入了moment.js所以用这个方法

  mounted() {
    var offset = new Date() + "";     //将时间格式转为字符串
    console.log(offset);  //  Mon Nov 02 2020 20:57:20 GMT-0600 (北美中部标准时间)
    let asderf = offset.indexOf('GMT');
    let fghdfgd = offset.substring(asderf+3,asderf+8);
    console.log(fghdfgd);  //-0600    //拿到这个-0600也就是当前所在时区,然后转时间戳的
    this.current_time = fghdfgd;   //给了你定义的一个字段,在拿到数据后使用
  },
methods:{
         getdata(){
                 //拿到数据后   launchStartTimeStamp   这个就是时间戳
            //utcOffset('+0800')指定时区   东八区
                let time = this.moment(launchStartTimeStamp).utcOffset(this.current_time).format('YYYY-MM-DD HH:mm:ss');
//这个就是转换为指定时区的时间了。

            }
   }

结束语

以后遇到也需要获取指定时区的时间就可以用这个办法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值