【BootStrap】——Table控制元件將時間戳更改為日期格式
阿新 • • 發佈:2018-11-05
前言
小編最近一直在公司積分系統的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