Jqgrid - 日期列格式

时间:2013-06-18 19:07:36

标签: jqgrid date-format

在json中返回的日期coulmn是1371700800000.我正在尝试将其转换为mm / dd / yyyy格式。

我有以下代码在jqgrid中格式化,但仍然获得日期值为NaN / NaN / NaN。我正在使用jqgrid版本4.4.1。请帮忙。

 {name:'inactiveDate',index:'inactiveDate', width:30, formatter:'date',  formatoptions: {srcformat:"d/m/Y H:i A", newformat: 'ShortDate' },editable:true,edittype:"text",editoptions: {size: 10, maxlengh: 10,dataInit : function (elem) {
                    $(elem).datepicker();
                }}}

3 个答案:

答案 0 :(得分:0)

我通过手动更改jquery.jqgrid.src.js(4.5.2)解决了日期字段的NaN / NaN / NaN问题。 在我的例子中,json响应将在'ISO1860Long'中返回日期。它曾经工作到4.1.2 jqgrid版本

搜索“parseDate”功能;转到后面的行:

if( opts.masks.hasOwnProperty(format) ) { format = opts.masks[format]; }
if(date && date != null) {

并在检查时添加以下内容:

if(date.constructor === Number) {
  if(String(format).toLowerCase() == "u") {
    date = date*1000;
  }
  timestamp = new Date(date);
} else

现有之前:

if( !isNaN( date - 0 ) && String(format).toLowerCase() === "u") {

如果需要,您可以自己将更改转换为jquery.jqgrid.min.js

答案 1 :(得分:0)

日期格式mm/dd/yyyy显示在jqGrid中,如0404/2828/16161616,您应使用此格式m/d/y,并显示为04/28/16。单个m或d或y就足够了,否则它会重复一次。

注意:要在jqGrid中转换长日期,请在 formatoptions 函数的 srcformat 中提及U/1000

<强>代码:

{name:'startDate',index:'startDate',width:120, formatter: 'date', formatoptions: { srcformat: 'U/1000', newformat:'m/d/Y' }},

jqGrid列中的输出: 04/28/16

<强>代码:

{name:'startDate',index:'startDate',width:120, formatter: 'date', formatoptions: { srcformat: 'U/1000', newformat:'d-M-Y H:i A' }},

jqGrid列中的输出: 28-Apr-2016 08:30 AM

答案 2 :(得分:0)

当检查日期为空或定义了我设置的其他条件并直接返回功能正常的函数时,我直接遇到了同样的问题。

请转到parseDate函数

因为这种逻辑无法理解代码逻辑。

  

如果(日期&&日期!=空){

        if(date != '' && date == 'N.A'){
            return 'N.A';
        }