案例:项目中读取数据库时断点跟踪发现数据正常,但是在接口给前端返回数据的时候出现500,前端无法接收到数据;
原因:经过确认是因为在接口的底层,时间类型为空的时候转换成0001/01/01 非法时间格式;
解决方法:在实体类的时间类型前加上问号,允许值类型为空
/// <summary>
/// 修改时间
/// </summary>
private DateTime? _modify_date;
public DateTime? MODIFY_DATE
{
get { return _modify_date; }
set { _modify_date = value; }
}
经过测试前端可以正常接收数据;
但是
前端接收到的数据是这种格式的 “/Date(1584956513000+0800)/” 显然不能作为展示数据;
因为本人前端用VUE所以使用 formatter 对数据进行格式化,代码:
<el-table-column
property="_run_date"
label="日期" width="350"
:formatter="formatTime">
</el-table-column>
formatTime(row, column){
var time = row[column.property];
var t = time.slice(6, 19)
var NewDtime = new Date(parseInt(t));
var year = NewDtime.getFullYear();
var month = NewDtime.getMonth() + 1;
var date = NewDtime.getDate();
var hour = NewDtime.getHours();
var minute = NewDtime.getMinutes();
var second = NewDtime.getSeconds();
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
}
},
代码也是在网上找的,在这里借花献佛了。
经过以上调整,页面展示OK,看看效果吧
希望我的总结能够帮助大家,谢谢!