1

我对 jqgrid 日期格式化程序有疑问。在我的数据库表中,我有这个日期格式“Ymd”,如“20120219”。这里是本专栏的全部代码:

$col = array();
$col["title"] = "Date";
$col["name"] = "date_dem";
$col["width"] = "40";
$col["editable"] = false;
$col["editoptions"] = array("size"=>20);
$col["formatter"] = "date"; // format as date
$col["formatoptions"] = array("srcformat"=>'Ymd',"newformat"=>'d/m/Y');
$cols[] = $col;

当我使用此代码时,我为每条记录得到相同的输出:“01/01/1970”。有人知道这个问题吗?

先进的 THX

4

1 回答 1

1

即使有关日期的信息被保存为Ymd没有任何分隔符,您也必须从服务器返回在年、月和日之间带有一些分隔符的信息。问题是 jqGrid 的当前代码首先使用'\', '/', ':', '_',或作为分隔符拆分输入日期';'(参见代码'.'','

date = String(date).split(/[\\\/:_;.,\t\T\s-]/);

然后使用srcformat解码它。所以你不能formatter: "date"用来解码日期,比如20121009. 我建议您在服务器端转换20121009为并从服务器返回始终采用ISO 8601格式的日期,这是 jqGrid 使用的默认格式。或者,您可以使用自定义格式化程序来显示日期。2012-10-09

于 2012-10-09T16:52:59.700 回答