SlickGrid中的日期格式

时间:2017-02-08 06:20:46

标签: slickgrid

SlickGrid使用默认的美国日期格式mm / dd / yyyy启动日历。我以澳大利亚格式dd / mm / yyyy将日期存储在我的数据库中。如何更改日历的格式以采用dd / mm / yyyy?

3 个答案:

答案 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 },