我在這裏看過類似的查詢,並沒有完全回答我的問題,也沒有以我能理解的方式回答我的問題。來自MySQL的kendo-ui網格日期格式sql查詢
我從代表日期時間的MySQL數據庫中檢索字符串值,即數據庫中的「2013年10月3日05:30:45 PM」被表示爲「20131003173045」。該值在Kendo Grid的「上次登錄」列中顯示爲日期。這些都包含在使用MVC框架的面向PHP的網頁中。
此前我在SQL查詢中應用了一個日期格式,將字符串從「20131003173045」更改爲「2013年10月03日05:30:45 PM」,但這會在KendoGrid中呈現爲字符串,即11月日期可以出現在10月日期之前,4月日期首先出現等。這可理解不是所需的功能,尤其是當試圖按此列排序時。
示例代碼的頁面渲染KendoGrid:
<div class="div1">
<div>
<table id="listGrid"></table>
</div>
</div>
<script>
$(function() {
$("#grid").kendoGrid({
scrollable: false,
groupable: false,
sortable: {
mode: "multiple"
},
resizable: true,
pageable: true,
dataSource:
{
transport:
{
read: {
url: "<?= $site_url ?>Settings/Users/List",
dataType: "json"
},
parameterMap: function (model, operation) {
if (operation == "read") {
return model;
}
else if(model) {
return { "json" : kendo.stringify(model) };
}
else
return "";
}
},
pageSize: 20,
serverPaging: true,
serverSorting: true,
sort: { field: "LastLogin", dir: "desc" },
serverGrouping: true,
serverAggregates: false,
schema: {
total: "total",
data: "data",
groups: "groups"
}
},
toolbar: [ { title: "", template:'<a class="k-button k-button-icontext k-grid-add" href="<?= $site_url ?>Settings/Users/Add/">Add New User</a>' }],
columns: [
//{field: "Id", width: "40px"},
{field: "UserName", title: "Alias", width: "160px"},
{field: "ForeName", title: "Forename", width: "100px"},
{field: "SurName", title: "Surname", width: "160px"},
{field: "Initials", width: "80px"},
{field: "CrmId", title: "CRM ID", width: "100px"},
{field: "Dept", title: "Department", width: "100px"},
{field: "Position"},
// Below is the field in question
{field: "LastLogin", title: "Last Login", width: "160px"},
{field: "BlockedStatus", title: "Status", width: "90px"},
{ title: "", template:'<a class="k-button k-button-icontext k-grid-edit" href="<?= $site_url ?>Settings/Users/Update/#: Id #">Edit</a>' }
]
});
});
</script>
我已經看過了kendo.parseDate和kendo.toString,以及兩者結合,但似乎無法得到任何工作;我要麼獲得「null」或「20131003173045」,要麼頁面無法加載。
我無法更改數據庫數據,我只能將其格式化爲SQL查詢的一部分,這正是我最初所做的工作。
我需要整個「20131003173045」字符串變成「03 Oct,2013 05:30:45 PM」,並且仍然按照適當的時間順序排序 - 我該怎麼做,如果是kendo.parseDate和kendo。 toString是正確的工具,我做錯了什麼?
謝謝你的回答;我無法讓它爲我工作 - 這是關於解析函數,因爲我不明白(d)指的是什麼? 我將不得不接受答案並解決問題,因爲我被迫從這個問題繼續前進;我的上級在網站的MVC框架的一個單獨部分中完成了一個解決方法來管理SQL查詢。我相信你之前的帖子和答案是有效的,但我無法讓它在我的特定情況下工作。道歉,如果這不是處理這種情況的正確方法,但這是我的第一個問題。 –
'd'是從服務器收到的數據,服務器發送的數據。然後,在那個結構中,我使用jQuery'each'迭代'data'數組的元素。對於每個元素,我使用你提到的格式解析接收日期,其中'yyyy'代表4位數的年份,'MM'代表日期爲兩位數,'dd'代表月份的日期,'HH'代表小時以24h格式和'mm'和'ss'分鐘和秒鐘。 – OnaBai