我在我的一个应用程序中使用jqGrid。在此,我已在此d/m/Y H:m:s
(例如01/12/2011 14:59:10
)中显示日期。我正在格式化,但它显示错误的时间(在几分钟)
喜欢:我的日期时间表格数据库是01/12/2011 14:59:10
,但它显示01/12/2011 14:12:10
。
这是jqGrid代码:
url: "/DigitalJobMonitoring/GetFailedGridData",
datatype: 'json',
mtype: 'Get',
colNames: ['Sr.No', 'Job Name', 'Server Name', 'Status', 'Last Run Time'],
colModel: [
{ key: true, width: 50, resizable: false, name: 'SerialNumber', index: 'SerialNumber', sorttype: 'integer' },
{ key: false, width: 300, resizable: false, name: 'JobName', index: 'JobName', sorttype: 'text' },
{ key: false, width: 100, resizable: false, name: 'ServerName', index: 'ServerName', sorttype: 'text' },
{ key: false, width: 100, resizable: false, name: 'Status', index: 'Status', sorttype: 'text' },
{ key: false, width: 150, resizable: false, name: 'LastRunTime', index: 'LastRunTime', sorttype: 'date', formatter: 'date', formatoptions: { srcformat: "d/m/Y H:m:s", newformat: "d/m/Y H:m:s" }, searchoptions: { dataInit: initDateSearch } }],
search: true,
searchOnEnter: true,
pager: '#failedRunningPager',
height: '100%',
caption: 'Failed/Running Jobs',
emptyrecords: 'No records to display',
jsonReader: {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
SerialNumber: "0"
},
我在(ISO8601Long
尝试了不同的srcformat UniversalSortableDateTime
,d/m/Y H:m:s
,SortableDateTime
,formatoptions
等等,但没有运气。
在这里找到截图。
数据库的日期时间:
提前致谢
更新:
答案 0 :(得分:0)
最新版本的jqGrid会自动检测Microsoft日期格式/Date(1485158400000)/
。我建议您卸载NuGet包jQuery.jqGrid 4.4.4并安装free-jqGrid 4.13.6。 jqGrid 4.4.4 很旧(4岁)并且多年以来一直被弃用。
演示https://jsfiddle.net/OlegKi/9mz4q1gd/1/使用free-jqGrid 4.13.6以及colModel
sorttype: "date", formatter: "date", formatoptions: { newformat: "d/m/Y H:m:s" }
您可以看到日期将以两种输入格式正确解析,格式化和排序:ISO8601和Microsoft Date。
更新:我终于看到了您的错误。您在日期格式中使用错误的分钟格式。你用了几个月而不是几分钟。您应该将newformat: "d/m/Y H:m:s"
修改为newformat: "d/m/Y H:i:s"
。请参阅:https://jsfiddle.net/OlegKi/u5Lvepyu/14/