0

JSONで「August、13 201212:58:29」として表示される日付フィールドがあります。jqGrid3.7.2を使用していますが、アップグレードできません。日付形式をオンにするには、colModelで何を調整する必要がありますか。この形式のクライアント側「2012年8月14日」?

使用してみました:formatter:'date'、formatoptions:{srcformat:''、newformat:''}

しかし、srcformatとnewformatの正しい組み合わせを取得できません。それはいつも奇妙に出てきます。

ありがとう

4

2 に答える 2

2

"August, 13 2012 12:58:29"jqGridの入力として非常に悪い日付形式を使用しています。サーバーとクライアント間で送信することをお勧めする適切な日付形式は、言語やロケールに依存しない形式です2012-08-13T15:58:29ZISO 8601を参照)。

もう1つの問題は、jqGrid 3.7.2が'F'フォーマット(または実装のバグ)をサポートしていないことです。DateFormatのコードとparseDateのコードを、対応するjqGrid3.7.2のコードと比較できます。jqGrid 3.7.2のコピーで関数のコードを更新する場合は、問題を解決する必要があります(たとえば、私のバグレポートを参照してください:ここここなど)。

PS:将来、質問に対する回答を受け取りたい場合は、回答の「受け入れ」を開始する必要があります。それはあなたがする必要があることをワンクリックするだけです。

于 2012-08-15T17:08:38.667 に答える
0

jquery.jqgrid.src.js(4.5.2)を手動で変更することにより、日付フィールドのNaN / NaN/NaNの問題を解決しました。私の場合、json応答は「ISO1860Long」で日付を返します。これは、4.1.2jqgridバージョンまで機能していました。

「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:48:23.670 に答える