Я пытаюсь использовать MomentJs
с таблицами данных.Мне это нужно, потому что сортировка не работает для меня должным образом.(По умолчанию используется формат даты США)
Я проверил документацию для таблиц данных, которые ссылаются на документы MomentJS.Они предлагают использовать $.fn.dataTable.moment( format, locale )
Это пример моей даты и времени 07.02.2019 11:40:12
.В соответствии с документацией я создал свое форматное выражение.
Поскольку он не работал, я также попытался импортировать файл локали, который был отмечен как опция в документах с данными.
локаль (необязательно) - Moment.js имеет обширную поддержку интернационализации.Эта опция может быть дополнительно использована для указания локали.
Тогда я попытался: $.fn.dataTable.moment("DD.MM.YYYY HH:mm:ss", 'cs');
Снова без успеха.Итак, я открыл datime-moment.js и проверил реализацию momentJ.
Я обнаружил, что всегда возвращается с нулевым повтором, потому что isValid()
был ложным.
Поэтому я отключил строгий режим и все работаетотлично.
// Add type detection
types.detect.unshift( function ( d ) {
if ( d ) {
// Strip HTML tags and newline characters if possible
if ( d.replace ) {
d = d.replace(/(<.*?>)|(\r?\n|\r)/g, '');
}
// Strip out surrounding white space
d = $.trim( d );
}
// Null and empty values are acceptable
if ( d === '' || d === null ) {
return 'moment-'+format;
}
return moment( d, format, locale, false ).isValid() ?
'moment-'+format :
null;
} );
Я нашел решение, но я думаю, что должен быть способ использования MomentJs
с включенным строгим режимом.Я ожидаю, что "DD.MM.YYYY HH:mm:ss"
будет соответствовать 07.02.2019 11:40:12
.
Это моя вина или это невозможно в MomentJs
?Спасибо за каждый совет.