一、问题描述:

在项目中引用了elementui中的date-picker组件,选中的时间跟实际相差八小时,且格式不是自己想要的格式

type="date"

placeholder="选择日期"

format="yyyy/M/d"

v-model="form.timestamp"

>

如图输入的是: 得到的是

二、解决办法

①在data里定义变量

form: {

timestamp: new Date()

},

②在使用form.timestamp之前要对它做处理

this.form.timestamp = this.YymmddFormat(this.form.timestamp)

③在methods里加入方法;格式自己可定义;我这里输出的是yyyy/M/d 仅供参考哦

YymmddFormat(newDate) {

let Month = newDate.getMonth() + 1;

Month = Month;

let d = newDate.getDate();

return [[newDate.getFullYear(), Month, d].join("/")].join("");

},

如果要输出yyyy-MM-dd格式的,可参考如下代码

YymmddFormat(newDate) {

let Month = newDate.getMonth() + 1;

Month = Month >= 10 ? Month : "0" + Month;

let d = newDate.getDate();

d = d >= 10 ? d : "0" + d;

return [[newDate.getFullYear(), Month, d].join("-")].join("");

},

如果加上时分秒,参考参考,可能有误。

dateTrans(date) {

let _date = new Date(parseInt(date));

let y = _date.getFullYear();

let m = _date.getMonth() + 1;

m = m < 10 ? "0" + m : m;

let d = _date.getDate();

d = d < 10 ? "0" + d : d;

let h = _date.getHours();

h = h < 10 ? "0" + h : h;

let minute = _date.getMinutes();

let second = _date.getSeconds();

minute = minute < 10 ? "0" + minute : minute;

second = second < 10 ? "0" + second : second;

let dates = y + "-" + m + "-" + d + " " + h + ":" + m + ":" + s;

return dates;

},

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: