SlickGrid使用默认的美国日期格式mm / dd / yyyy启动日历。我以澳大利亚格式dd / mm / yyyy将日期存储在我的数据库中。如何更改日历的格式以采用dd / mm / yyyy?
答案 0 :(得分:1)
您可以通过编写新的自定义编辑器来使用您选择的DatePicker。默认日期编辑器使用jQueryUI DatePicker。 就个人而言(我也在澳大利亚),我使用默认设置:
function DateFormatter(rowIndex, cell, value, columnDef, grid, dataProvider) {
if (value == null || value === "") { return "-"; }
return moment.utc(value).format('ddd, D MMM YYYY');
}
...使用moment.js
格式化日期,并使用DateEditor ...
$input.datepicker({
showOn: "button",
changeMonth: true,
changeYear: true,
dateFormat: 'd/m/yy',
buttonImageOnly: true,
buttonImage: "../images/calendar.gif"
});
你也可以localise
答案 1 :(得分:0)
You can write formatter for row (i use moment.js too):
function dateTimeFormatter (row, cell, value, columnDef, dataContext) {
var dateTime = Date.parse(value);
var result = moment(dateTime);
return result.format('DD.MM.YYYY hh:mm:ss');
}
答案 2 :(得分:0)
首先,将代码添加到本地库中的 slick.formatters.js 文件中: 在两个位置添加自定义日期格式化程序:
$.extend(true, window, {
"Slick": {
"Formatters": {
"PercentComplete": PercentCompleteFormatter,
"PercentCompleteBar": PercentCompleteBarFormatter,
"YesNo": YesNoFormatter,
"Checkmark": CheckmarkFormatter,
"Checkbox": CheckboxFormatter,
"Date": Dateformatter //<< this one
}
}
});
并在文件末尾:
function Dateformatter(row, cell, value, columndef, datacontext) {
if (value === null) {
return "";
} else {
var d = new Date(value);
var m = d.getMonth() + 1;
return (d.getDate() + "/" + m + "/" + d.getFullYear());
}
}
})(jQuery); //<< this line is already present
现在您可以在列定义中添加日期格式化程序:
{ id: "lastLoginDate", name: "LastLoginDate", field: "lastLoginDate", formatter: Slick.Formatters.Date },