前言
小编最近一直在公司积分系统的bug海洋中,bug天天有,代码天天敲啊,这不,又出现了新的问题,获取时间的方法当经过json序列化后数据就变成了时间戳格式,别急,别急,我就是猴子请来的救兵,看我怎么解决掉你~~
正文
一、Table显示日期问题
好好的日期给变成了时间戳:
分析:
按照时间戳格式截取相应字符串转换为相应格式的日期
修改后代码:js文件
var TableInit = function () {
var oTableInit = new Object();
//初始化Table
oTableInit.Init = function () {
$("#table").bootstrapTable('destroy'); //避免重复执行,需要销毁
$('#table').bootstrapTable({
url: '/ConfluenceSurvey/QueryTableInfoa', //请求后台的URL(*)
method: 'get', //请求方式(*)
striped: true, //是否显示行间隔
sortable: true, //是否启用排序
sortName: 'date',
sortOrder: "desc", //排序方式
queryParams: oTableInit.queryParams, //传递参数(*)
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
columns: [{
checkbox: true
}, {
field: 'date',
title: '日期',
sortable: true,
//——修改——获取日期列的值进行转换
formatter: function (value, row, index) {
return changeDateFormat(value)
}
}, {
field: 'wsScore',
title: '卫生'
}, {
field: 'jlScore',
title: '纪律'
}, {
field: 'bkScore',
title: '博客'
}, {
field: 'xsScore',
title: '学术'
}, {
field: 'fqScore',
title: '番茄'
}, {
field: 'dayMcoin',
title: '今日得分'
}, {
field: 'totalMcoin',
title: '到此日的积分'
}]
});
};
//修改——转换日期格式(时间戳转换为datetime格式)
function changeDateFormat(cellval) {
if (cellval != null) {
var d = new Date(cellval);
var times=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
return times;
} else {
return cellval;
}
}
修改后效果:
二、与日期斗智斗勇的岁月(我遇到的奇葩问题)
1、日期排序错乱
分析:表格中显示的日期格式是String类型,字符串格式的日期比较大小是通过计算每个字符串中相应Char对象的数值来比较两个指定的String对象;
2、明明库里有记录,就是查不到数据
linq语句转成sql在navicat中查询没有问题的,这是为什么,为什么,为什么呢?
告诉你一个坑爹的原因,真的是很坑,英文操作系统的问题!页面上获取的日期被转成英文时间了,没错,说好的“2017/7/14 00:00::00”变成了"7/14/2017 12:00:00 AM"
自己给自己挖的坑啊,啥也不说了,其实后面在转换为中文也是可以滴,这样就省事了,考虑周到也是很有必要的!!!
原文:https://blog.csdn.net/zt15732625878/article/details/75136545