jgGrid показывает неправильное время в поле DateTime
Я использую jqGrid в одном из моих приложений. В этом у меня есть дата в этом d/m/Y H:m:s
(Ex 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"
},
Я пробовал с другим srcformat(ISO8601Long
,UniversalSortableDateTime
,d/m/Y H:m:s
,SortableDateTime
и т. д.) в formatoptions
но не повезло. найдите скриншоты здесь. дата и время из базы данных:
заранее спасибо
Обновлено:
1 ответ
Формат даты Microsoft /Date(1485158400000)/
будут автоматически обнаружены последними версиями jqGrid. Я рекомендую вам удалить пакет 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/