获取服务器时间,可以从请求头里去取,也就是这个
具体获取方法是这样的
请原谅我放荡不羁不爱打字,因为我不知道那些大神们是怎么把代码粘进来的
由于服务器获取的是英文时间,所以有八个小时的时差,也就是会比北京时间晚八个小时
处理方法在dateTimeFormate里
代码在这里
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的人,居然想到这个办法),后来从网上搜索发现可以从请求头里获取服务器时间,嗯,就是这样,好了,可以去做下一个需求了