JQgrid日期格式化程序Ymd

时间:2012-10-09 15:29:31

标签: jqgrid

我遇到了jqgrid Date格式化程序的问题。 在我的数据库表中,我有这个日期格式“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

1 个答案:

答案 0 :(得分:1)

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

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

然后使用srcformat对其进行解码。因此,您无法使用formatter: "date"解码20121009之类的日期。我建议您将20121009转换为服务器端的2012-10-09 ,并从服务器返回始终采用ISO 8601格式的日期,这是jqGrid使用的defalt格式。或者,您可以使用custom formatter显示日期。

相关问题