Я слишком долго отключаюсь от этого, и я не вижу, как форматирование элемента управления datetimepicker Bootstrap переопределяется.Как Bootstrap/Moment DateTimePicker не может отобразить правильный 24-часовой формат?
Bootstrap DTP использует Moment.js за кулисами, чтобы отформатировать его таймер. Код JS выглядит следующим образом:
selector.find(".datepicker").each(function() {
var $that = $(this);
$that.datetimepicker({
sideBySide: true,
useCurrent: false,
minDate: new Date(1910, 1, 1)
});
$that.children("input").on("focus", function() {
$that.data("DateTimePicker").show();
});
});
Ничто не кажется слишком сложным, там и форматирование в HTML выглядит так же просто:
@Html.EditorFor(x => x.DateTime, new { @dateFormat = "DD/MM/YYYY HH:mm", @mandatory = true })
Однако когда модель связана с представлением и итерациями JS над входы, отображаемые часы идут от 24 часов (например, 14:00
) до 12 часов (то есть 02:00
).
Я убежден, что это связано с интеграцией time.js и, скорее всего, с его обработкой часовых поясов, но я не вижу, где бы я мог применять разные настройки. Предложения были бы более чем приветствуются на этом этапе.
Который является DateTimePicker вы используете? Я думаю, что вы используете [eonasdan datetimepicker] (https://eonasdan.github.io/bootstrap-datetimepicker/), в этом случае лучше повторить свой вопрос. Более того, я думаю, что явным образом установите параметр ['format'] (http://eonasdan.github.io/bootstrap-datetimepicker/Options/#format) на' DD/MM/YYYY HH: mm', чтобы исправить вашу проблему. По умолчанию компонент использует 'DD/MM/YYYY hh: mm A' – VincenzoC
Да, это тот, который я использую. Извините за то, что не являюсь конкретным –
Я не смог воспроизвести вашу проблему, она работает для меня с использованием 'data-date-format', как показано на рисунке, вы можете предоставить скрипку или фрагмент? Возможно, это связано с MVC и не ограничивается JS, HTML и моментом. – VincenzoC