我遇到了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
答案 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显示日期。