Я боролся с той же проблемой в моем приложении Ruby on Rails.
Мы не используем angularjs, но я думаю, что способ использования Chart.js очень похож.
Я опубликую способ управления им в Ruby on Rails и в польском языке.,Но вы должны иметь возможность легко настроить решение для работы с Angular.js
- Включить языковой стандарт moment.js в комплект JavaScript отдельно от библиотеки moment.js
//= require moment
//= require moment/pl.js
Добавление пользовательских форматов отображения, чтобы упростить анализ даты в функции обратного вызова.И добавьте функцию обратного вызова для анализа и форматирования даты снова.
options: {
...
scales: {
xAxes: [{
type: 'time',
time: {
displayFormats: {
'hour': 'HH:mm',
'day': 'DD-MM-YYYY',
'week': 'DD-MM-YYYY',
'month': 'DD-MM-YYYY',
},
unit: '<%= @report.scale %>',
},
ticks: {
callback: function(value, index) {
let displayFormats = {
'hour': 'HH:mm',
'day': 'DD-MM-YYYY',
'week': 'YYYY WW',
'month': 'MMMM YYYY',
};
let unit = '<%= @report.scale %>';
let format = displayFormats[unit];
return moment(value, 'DD-MM-YYYY').format(format, value);
}
}
}],
По какой-то причине moment.js внутри Chart.js игнорирует локали.Но при повторном вызове moment.js внутри функции обратного вызова это работает хорошо.
Я добавил защитный возврат для всех модулей, кроме месяца.Я не хотел переформатировать и переформатировать даты, кроме месяцев.