問題はDateFormat
、jquery.fmatter.jsの関数が次のAM/PMをサポートしていないことですsrcformat
。
// Tony Tomov
// PHP implementation. Sorry not all options are supported.
// Feel free to add them if you want
DateFormat : function (format, date, newformat, opts) {
A
具体的には、指定された日付を解析するときにオプションがサポートされていないことが以下でわかります。
} else {
date = String(date).split(/[\\\/:_;.,\t\T\s-]/);
format = format.split(/[\\\/:_;.,\t\T\s-]/);
// parsing for month names
for(k=0,hl=format.length;k<hl;k++){
if(format[k] == 'M') {
dM = $.inArray(date[k],dateFormat.i18n.monthNames);
if(dM !== -1 && dM < 12){date[k] = dM+1;}
}
if(format[k] == 'F') {
dM = $.inArray(date[k],dateFormat.i18n.monthNames);
if(dM !== -1 && dM > 11){date[k] = dM+1-12;}
}
if(date[k]) {
ts[format[k].toLowerCase()] = parseInt(date[k],10);
}
}
if(ts.f) {ts.m = ts.f;}
if( ts.m === 0 && ts.y === 0 && ts.d === 0) {
return " " ;
}
ts.m = parseInt(ts.m,10)-1;
var ty = ts.y;
if (ty >= 70 && ty <= 99) {ts.y = 1900+ts.y;}
else if (ty >=0 && ty <=69) {ts.y= 2000+ts.y;}
timestamp = new Date(ts.y, ts.m, ts.d, ts.h, ts.i, ts.s, ts.u);
}
いくつかのオプションがあります。Webサービスを変更できる場合は、日付を別の形式(UNIXタイムスタンプなど)で返すようにするか、サポートされている形式で新しい日付列を返すようにすることができます。または、これをjqGridのバグとして報告したり、コードのこのセクションを修正してAM/PM指定子をサポートしたりすることもできます。