jqgrid datetime格式


问题内容

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

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

startDate: 1323147660000

我不确定该数据采用哪种格式。基于此帖子,我尝试了srcformat和newformat格式选项的许多不同组合:

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

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

在此先感谢您的帮助。


问题答案:

实际上,在早期版本的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 '';
        }
    }
}

请注意,使用customformatter可以解析日期并以所需的任何方式对其进行格式化。但是,我尽力使用内置的jqGrid格式化工具(请参阅UniversalSortableDateTime?)