Javascript jgGrid在DateTime字段中显示错误的时间

Javascript jgGrid在DateTime字段中显示错误的时间,javascript,datetime,jqgrid,datetime-format,jqgrid-formatter,Javascript,Datetime,Jqgrid,Datetime Format,Jqgrid Formatter,我正在我的一个应用程序中使用jqGrid。在此,我已经在d/m/Y H:m:s(Ex01/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', colN

我正在我的一个应用程序中使用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
等),但没有成功。 在这里找到截图。 来自数据库的日期时间:

提前谢谢

更新:


最新版本的jqGrid将自动检测Microsoft日期格式
/Date(148515840000)/
。我建议您卸载NuGet软件包4.4.4并安装4.13.6。jqGrid 4.4.4非常古老(4年前),多年来一直被弃用

演示使用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”
。请参阅:

最新版本的jqGrid将自动检测Microsoft日期格式
/Date(148515840000)/
。我建议您卸载NuGet软件包4.4.4并安装4.13.6。jqGrid 4.4.4非常古老(4年前),多年来一直被弃用

演示使用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”
。请参阅:

您使用(可以使用)的jqGtid的哪个版本,以及jqGrid的哪个分支(商业版)或我使用的版本“4.4.4”中的旧jqGrid()。我添加了JSON数据返回代码请查找。您添加的不是JSON数据。它是C#代码的片段,其中
failedRunningResults
不清楚,JSON序列化的设置也不清楚。您可以使用IE/Chrome/Firefox的开发工具,单击网络选项卡并重新加载网格。您将看到HTTP跟踪。查找请求
/DigitalJobMonitoring/GetFailedGridData
并检查HTTP正文您将看到返回服务器的确切JSON数据。jqGrid 4.4.4是非常旧的版本(4年前),多年前就已弃用。如果从Nuget安装jqGrid,则应卸载4.4.4并安装4.13.6。jqGrid的新版本尝试检测一些典型的日期格式,并正确解析从ASP.NET MVC返回的数据。我已尝试使用您建议的新版本(免费jqGrid 4.13.6)但是运气不好。请找到返回到服务器的JSON date的更新版本。它以“/date(148515840000)/”的形式返回日期。我不知道是哪种srcformat,我需要使用它来获取所需的日期格式您使用(可以使用)的jqGtid的哪个版本以及jqGrid的哪个分支(,商业版或旧版jqGrid,我使用的是版本“4.4.4”()。我添加了JSON数据返回代码请查找。您添加的不是JSON数据。它是C#代码的片段,其中
failedRunningResults
不清楚,JSON序列化的设置也不清楚。您可以使用IE/Chrome/Firefox的开发工具,单击网络选项卡并重新加载网格。您将看到HTTP跟踪。查找请求
/DigitalJobMonitoring/GetFailedGridData
并检查HTTP正文您将看到返回服务器的确切JSON数据。jqGrid 4.4.4是非常旧的版本(4年前),多年前就已弃用。如果从Nuget安装jqGrid,则应卸载4.4.4并安装4.13.6。jqGrid的新版本尝试检测一些典型的日期格式,并正确解析从ASP.NET MVC返回的数据。我已尝试使用您建议的新版本(免费jqGrid 4.13.6)但是运气不好。请查找返回到服务器的JSON date的更新版本。它以“/date(148515840000)”的形式返回日期。我不知道是哪种srcformat,我需要使用它来获取所需的日期格式。我已卸载jQuery.jqGrid 4.4.4,并安装了免费的jqGrid 4.13.6。尝试使用您的演示,但仍然无法获得与以前相同的结果。我已尝试将datetime字段转换为字符串,然后获得与字符串相同的正确日期和时间,但在本例中是排序由于我们不能像日期一样对字符串进行排序,所以出现了问题。@AshokDavuluri:对不起,我无法调试您发布的图片。我在回答中包含的演示使用了JSFIDLE的Echo服务:
url:“/Echo/json/”,数据类型:“json”,mtype:“POST”,postData:{json:json.stringify(serverResponse)}
。您可以替换
serverResponse
JSON.stringify(serverResponse)
使用您的数据并修改
colModel
给youth。这样,您可以用测试数据准备演示,我可以调试它。谢谢,但运气不好。我已经用我的JSON数据准备了一个演示,在我的应用程序中返回到服务器。请找到它。我没有在JSFiddle的结果选项卡中获取网格。请将我的示例数据带进去演示服务器响应并尝试调试,如果需要任何信息,请告诉我。@AshokDavuluri:要在JSFIDLE演示中查看结果,只需单击左侧的“外部资源”并插入所有依赖项