【问题标题】:jqgrid datetime formattingjqgrid日期时间格式
【发布时间】:2012-03-07 23:45:46
【问题描述】:

我有一个 spring MVC java 应用程序,我正在将 joda DateTime 序列化为 json。

当我通过浏览器检查输出时,DateTime 序列化数据如下所示:

startDate: 1323147660000

我不确定该数据的格式。我尝试了许多不同的 srcformat 和 newformat 格式选项组合,包括基于this post 的以下选项:

{srcformat:'U', newformat:'m/d/Y'}

我的直觉是这是自纪元以来的毫秒数,但我不确定如何在 jqgrid 中正确使用它。

提前感谢您的帮助。

【问题讨论】:

  • 我刚刚发布了the bug report,并提出了如何修复 jqGrid 代码以支持日期的“U”和“u”格式的建议。

标签: javascript json spring spring-mvc jqgrid


【解决方案1】:

实际上,从 epoch 格式开始的毫秒数在 jqGrid 的早期版本之一中是开箱即用的。不幸的是,由于未知原因,它已被删除。

这里有一个解决方法:

{
    name:'startDate',
    label: 'Start date'
    formatter: function(cellValue, options) {
        if(cellValue) {
            return $.fmatter.util.DateFormat(
                '', 
                new Date(+cellValue), 
                'UniversalSortableDateTime', 
                $.extend({}, $.jgrid.formatter.date, options)
            );
        } else {
            return '';
        }
    }
}

请注意,使用自定义formatter,您可以解析日期并以您希望的任何方式对其进行格式化。但是我尽我所能使用内置的 jqGrid 格式化工具(参见UniversalSortableDateTime?)

【讨论】:

  • 我刚刚发布了the bug report,并提出了如何修复 jqGrid 代码以支持日期的“U”和“u”格式的建议。
  • +1 奥列格,谢谢。实际上,原始纪元时间作为数字在以前的版本中是开箱即用的。
  • 我同意你的看法。 4.1.2 版的日期格式化程序(请参阅here)与 'u' 和 'U' 一起正常工作,但 4.2.0 版有 "optimized" code 这是错误的。我希望托尼能修复代码。
猜你喜欢
  • 2014-09-02
  • 2015-10-22
  • 1970-01-01
  • 2013-05-30
  • 2018-05-13
  • 2012-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多