前端展示活动倒计时使用服务器时间

获取服务器时间,可以从请求头里去取,也就是这个


前端展示活动倒计时使用服务器时间_第1张图片

具体获取方法是这样的


前端展示活动倒计时使用服务器时间_第2张图片
请原谅我放荡不羁不爱打字,因为我不知道那些大神们是怎么把代码粘进来的

由于服务器获取的是英文时间,所以有八个小时的时差,也就是会比北京时间晚八个小时

处理方法在dateTimeFormate里


前端展示活动倒计时使用服务器时间_第3张图片

代码在这里

dateTimeFormate(date) {

      if (!date) {

        return false

      } else {

        var d = new Date(date)

        var year = d.getFullYear()

        var month = ('0' + (d.getMonth() + 1)).slice(-2)

        var day = ('0' + (d.getDate())).slice(-2)

        var hour = ('0' + (d.getHours())).slice(-2)

        var minutes = ('0' + (d.getMinutes())).slice(-2)

        var seconds = ('0' + (d.getSeconds())).slice(-2)

        return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds

      }

    }

这个方法是我从一个大神那里复制过来的,但是找不到原链接了,请见谅

说一说我的需求背景吧

前端页面有展示活动倒计时的板块,然后一直以来我都是直接用new Date()获取时间去计算倒计时然后展示,今天突然发现,准确的说要感谢测试让我发现,如果把计算机的时候或者手机的时间往后或者往前调几个小时,诡异的事情发生了,倒计时居然显示已结束或者未开始,之后我才知道,原来new Date()是获取的设备的当前时间(我这个总是犯低级错误的小仙女),严重影响正常活动

好吧,既然影响就用服务器时间算,我一开始想到的办法,是请求接口的时候让后端传一个当前时间过来(我真的是一个很low的人,居然想到这个办法),后来从网上搜索发现可以从请求头里获取服务器时间,嗯,就是这样,好了,可以去做下一个需求了

你可能感兴趣的:(前端展示活动倒计时使用服务器时间)