Я хочу передать дату как "дд-мм-гггг" `
У вас есть 3 варианта.
Опция ISO8601
Не передавайте это как "дд-мм-гггг". Вместо этого передайте его в формате ISO8601 (yyyy-MM-dd
). Это правильный способ сериализации DateTime
s в строку, а также для передачи этого строкового представления между уровнями. Этот формат является стандартным, широко используемым, однозначным, и почти все известные мне фреймворки имеют встроенные механизмы для вывода DateTime
s в этот формат и анализа их из этого формата.
Отображение DateTime
, отформатированного как «дд-мм-гггг», является проблемой уровня представления, и оно должно оставаться там, а не «сливаться» с другими уровнями приложения.
Опции форматирования
Используйте пользовательский код, такой как Json Converte или ActionFilterAttribute
, чтобы прочитать входящий DateTime
.
Опция String
Примите вместо этого строковый параметр и выполняйте собственный анализ внутри метода контроллера.
Я, честно говоря, не рекомендую последние 2 варианта. Вместо этого используйте ISO8601 : стандартный, однозначный, широко распространенный способ передачи DateTime
.