0

json 中返回的日期库是 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();
                }}}
4

3 回答 3

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

于 2013-11-28T09:51:49.187 回答
0

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

请转到parseDate功能

在此逻辑不了解代码逻辑之前。

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

        if(date != '' && date == 'N.A'){
            return 'N.A';
        }
于 2019-11-15T19:41:53.627 回答
0

日期格式mm/dd/yyyy显示在 jqGrid 中0404/2828/16161616,你应该使用这种格式m/d/y,它显示为04/28/16. 单个 m 或 d 或 y 就足够了,否则它会重复双倍。

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

代码:

{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

于 2016-05-10T08:06:55.103 回答