jqgrid日期排序和格式化

时间:2011-06-25 08:47:11

标签: sorting date jqgrid formatting

我需要以两种格式显示日期,例如mm / dd / yyyy和mm / dd / yyyy hh:mm:ss。我发现我们可以在colmodel中使用formatoptions

formatoptions: {srcformat: 'ISO8601Long', newformat: 'm/d/y'}

formatoptions: {srcformat: 'ISO8601Long', newformat: 'm/d/y h:i:s'}

但是我在jqgrid中获得的输出为mm / dd / yy。任何人都应该给出解决方案如何显示mm / dd / yyyy。我需要对两个列进行排序。

提前致谢

2 个答案:

答案 0 :(得分:6)

您可以使用'Y'代替'y'将年份显示为'yyyy'而不是'yy':

formatter:'date', formatoptions: {srcformat:'ISO8601Long', newformat:'m/d/Y H:i:s'}

如果你想在mounth和tha da中没有前面的空值(没有0填充),你可以使用'n / j / Y'而不是'm / d / Y'。您可以在格式化程序的the source code中找到“日期”格式化程序支持的所有不同可能标记。

更新:问题在于srcformat的简称,如ISO8601LongUniversalSortableDateTimeShortDate等等(请参阅{ {3}}了解详细信息)只能与远程网格数据datatype:'json'datatype:xml)一起使用。要使本地排序工作正确,您应该使用srcformat:'ISO8601Long'代替srcformat:'Y-m-d H:i:s'

the documentation表明此类更改将使本地排序工作正确。

我认为srcformat中的限制可以解释为jqGrid中的错误。因此,我建议您在The demo中发布相应的错误报告。然后Tony Tomov(jqGrid的开发人员)可以在jqGrid代码中进行相应的更改。

答案 1 :(得分:0)

非常感谢....我试图将jqgrid绑定到远程数据(json格式),我想将日期格式显示为dd / mm / yyyy。使用以下选项后

格式化程序:' date',formatoptions:{srcformat:' ISO8601Long',newformat:' d / m / Y'}

它完美运作。