将kendo日历月名称从简短格式更改为完整格式

时间:2013-09-06 07:55:09

标签: calendar kendo-ui

在kendo日历控件中,月份视图中的月份名称(列出特定年份的所有月份)以简短形式而不是全名显示。如何才能在此视图中将名称更改为完整形式。例如:Mar而不是March。

我尝试使用'calendar.options.format'属性更改日期格式,但它没有任何区别。需要帮助。

2 个答案:

答案 0 :(得分:1)

日历小部件被编程为始终使用月份缩写名称。但是,您可以在Kendo文化设置中编辑这些名称。请注意,他们将在使用月份缩写的剑道中的任何地方进行更改。

缩写存储在:

kendo.cultures.current.calendars.standard.months.namesAbbr

这是一个数组,按月索引。所以你可以设置:

kendo.cultures.current.calendars.standard.months.namesAbbr[0] = "January";
kendo.cultures.current.calendars.standard.months.namesAbbr[1] = "February";
// ...etc...

或者,为了简化操作,您只需将整个未缩写的月份数组复制到缩写数组,而不是设置每个月:

kendo.cultures.current.calendars.standard.months.namesAbbr = kendo.cultures.current.calendars.standard.months.names;

但是,这仍然会影响依赖月份缩写的任何其他Kendo小部件。更简洁的方法是为日历制作自定义文化。因此,在页面的初始化脚本中,在包含kendo.min.js之后,您可以执行以下操作:

// just do this once on page load. copy current culture to a new one, and replace abbreviated months.
kendo.cultures.currentWithoutMonthAbbreviations = $.extend(true, {}, kendo.cultures.current);
kendo.cultures.currentWithoutMonthAbbreviations.name = "currentWithoutMonthAbbreviations";
kendo.cultures.currentWithoutMonthAbbreviations.calendars.standard.months.namesAbbr = kendo.cultures.currentWithoutMonthAbbreviations.calendars.standard.months.names;

然后,您要使用完整月份名称的日历小部件,您可以告诉它使用您的自定义文化。

$("#datePicker").kendoDatePicker({
    culture: "currentWithoutMonthAbbreviations"
});

答案 1 :(得分:0)

你可以用这个脚本做好几天。我想这同样可以工作几个月:

var dayInfo = kendo.culture().calendar.days;
for (var i = 0; i < dayInfo.namesAbbr.length; i++) {
    dayInfo.namesShort[i] =  dayInfo.namesAbbr[i];
}