【问题标题】:Cannot format date in jqGrid无法在 jqGrid 中格式化日期
【发布时间】:2015-07-22 04:17:29
【问题描述】:

这是我的情况。从服务器(用 C# 编写),我使用 JSON 将 DateTime 对象传递给客户端,然后尝试使用 jqGrid 显示它。但是,日期一直显示为/Date(1430413200000+0700)/。我希望它是m/d/Y。这是我的代码:

            colModel: [
                {
                    name: 'MyDate',
                    index: 'MyDate',
                    formatter: 'date',
                    formatoptions: {
                        srcformat: "ISO8601Long",
                        newformat: "m/d/Y h:i A"
                    }
                }
            ]

感谢您的帮助!

【问题讨论】:

  • 您的服务器端技术是什么?我假设MVC。这是 MVC 通常用来序列化其日期的格式……也请检查 this questionthis one。 Scott Hanselman 在这个话题上有a great post
  • 我正在使用 Web 表单。我认为我的问题是 jqGrid 没有格式化日期数据。
  • 无论您使用什么,日期都不会按照您的预期进行解析。然后您有两个选择:更改服务器上的日期解析或在 JavaScript 中编写自定义 APS.Net 日期格式解析器:var value = new Date(parseInt(jsonDate.substr(6)));
  • jqGrid 的哪个分支以及您使用哪个版本?我想你使用一些复古版本的 jqGrid。以任何方式,您都可以使用服务器端的.ToString("o") 转换从服务器返回 ISO 日期,或者将 jqGrid 更新为 free jqGrid 4.9。

标签: javascript c# jquery jqgrid


【解决方案1】:

尝试像这样添加实际的 ISO8601Long 格式

 colModel: [
            {
                name: 'MyDate',
                index: 'MyDate',
                formatter: 'date',
                formatoptions: {
                    srcformat: "'Y-m-d H:i:s",
                    newformat: "m/d/Y h:i A"
                }
            }
        ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-01
    • 2011-09-22
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    相关资源
    最近更新 更多