Размещение локализованных форматов дат в ASP.net ядро с загрузочным датапикером

#asp.net-core #bootstrap-datetimepicker

Вопрос:

В настоящее время мы используем bootstrap datepicker в наших asp.net основное приложение для выбора дат, которые по существу локализованы. Поэтому я добавил все файлы локали для определенных языков, и все они работают нормально, пока я не отправлю форму. Например, скажите, что языковой стандарт предназначен es для испанского языка с датой, например 27 OKT 2021 , я получаю сообщение об ошибке RE: The date is not a valid date Как я могу преобразовать это обратно в say en-GB on post, чтобы моя модель оставалась действительной ?

смотрите настройки для my datepicker в представлении cshtml ниже:

 $(".datepicker").datepicker({
                //format: "dd M yyyy",
                language:  "@CultureInfo.CurrentUICulture.ToString()",
                weekStart: 1,
                maxViewMode: 2,
                todayHighlight: true,
                startDate: startDate,
                daysOfWeekDisabled: [],
                showOnfocus: true,
                autoClose: true,
                orientation: "bottom"
            });
 

У меня также есть формат даты, установленный в представлении cshtml, например :

 asp-format="{0:dd MMM yyyy}
 

Ответ №1:

Наилучшей практикой для работы с датами и временем является использование форматов ISO 8601, которые являются стандартными и универсальными. Таким образом, вы избегаете проблем с локализацией и сохраняете только однозначные даты и время.

Для дат используется следующий формат:

YYYY-MM-DD

В JavaScript вы можете преобразовать Date объект в формат ISO с помощью toISOString() . См.документы.