赞
踩
我在做毕业设计时遇到的这个问题,时间在数据库内显示的格式还是正确的(yyyy-mm-dd hh:mm:ss),如图
而到了前端却变成了:
这可真是一个难题啊!
我在网上搜索前辈遇到这种问题的解决办法,有好的说法,我一一亲自尝试,还是没有用,还有说是时区的问题,说什么加8就可以了,没用!!!
解决办法一:
在连接数据库的地方添加一行dateString:true,让数据带格式传到前端。
添加后:
这就正常了嘛!
解决办法二:
通常我们在数据库里设置时间的类型是 datetime,在这里我们可以将时间的数据类型修改为bigint:
在数据库显示为:
这里大家可能会有疑问,这还是时间吗?没错,是的,只是以毫秒的形式显示,在前端显示需要进行一些计算:
if (value && value.data && value.data.length) {
let i = value.data.length - 1;
for (let item of value.data) {
const d = new Date(Number(item.time));
this.xAxis[i] = d.getHours() > 9 ? d.getHours() : '0' + d.getHours();
this.xAxis[i] += ":" + (d.getMinutes() > 9 ? d.getMinutes() : '0' + d.getMinutes());
this.xAxis[i] += ":" + (d.getSeconds() > 9 ? d.getSeconds() : '0' + d.getSeconds());
console.log(d);
i--;
}
结果:
如果想要yyyy-mm-dd hh:mm:ss格式,只需要toLocaleString()一下就可以了。
到这就全部结束了,终于把问题解决了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。