Я столкнулся с проблемой с типом DateOnly в API .NET 6, из-за которой формат даты не отображается правильно при передаче через параметр запроса. Ожидаемый формат даты — дд.ММ.гггг, который является стандартным для Норвегии, но вместо этого он интерпретируется как ММ.дд.гггг.
Вот соответствующая часть моего контроллера:
Код: Выделить всё
[HttpGet("data")]
public Task GetData([FromQuery] DateOnly date)
{
return Task.FromResult(Ok($"Day {date.Day} Month {date.Month} Year {date.Year}"));
}
А вот пример запроса:
Однако результат:
Это означает, что дата интерпретируется как 4 января 2024 г., а не 1 апреля 2024 г.. В качестве языка и региональных параметров приложения выбрана Норвегия, где стандартным форматом даты является дд.ММ.гггг. Я ищу решение, которое специально работает с типом DateOnly, не прибегая к использованию DateTime. Я знаю, что DateTime можно использовать в качестве обходного пути, но мне нужно решение, которое соответствует использованию DateOnly.
Кто-нибудь сталкивался с этой проблемой или знает способ обеспечить правильный формат даты используется с DateOnly в .NET 6?
Подробнее здесь:
https://stackoverflow.com/questions/784 ... eonly-type