前端传过去后端的时间差八个小时,这是怎么回事?
onClick: function (obj) {
//通过传入的选择的时间段,展示不同的按钮
var date = moment().format("yyyy-MM-DD HH:mm", new Date());
var end = moment(obj).add(2, 'hour').format("YYYY-MM-DD HH:mm:ss");
if (obj <= date && date <= end) {
this.show = true;
} else {
this.show = false;
}
// var date = moment().format("YYYYMMDDHH",obj);
this.$axios.post("/seckill/findCoursesByTime", {date: obj}).then(res => {
this.seckillList = res.data.data;
})
}
时区不一样,你看一下服务端的时区,一般设置成GMT+8
可能是因为前后端的时区不同导致的。前端获取到的时间是本地时间,而后端获取到的时间可能是以其他时区为基准的时间。如果前端和后端的时区不一致,则会导致时间差。
解决方法可以是在前端将时间转换为UTC时间,然后传给后端,后端再将UTC时间转换为本地时间。这样可以保证前后端获取的时间是一致的。
前后端不存在时区问题,就是数据库的问题,https://blog.csdn.net/weixin_51485547/article/details/129091557