Я получаю дату в базовом контроллере ASP.NET следующим образом:
public class MyController:Controller{
public IActionResult Test(DateTime date) {
}
}
Фреймворк способен анализировать дату, но только в английском формате. Когда я передаю 04.12.2017 в качестве параметра даты, я имею в виду 4 декабря 2017 года. Это будет анализироваться как английская дата, поэтому мой объект даты получает значение 12 апреля 2017 года. Я пробовал добавить только немецкий язык. используя эту статью, а также эту, но безуспешно.
Что нужно сделать, чтобы ASP.NET Core автоматически анализировал даты в правильном немецком формате?
< strong>Обновить
Я пытался установить RequestLocalizationOptions
services.Configure(opts =>
{
var supportedCultures = new[]
{
new CultureInfo("de-DE"),
};
opts.DefaultRequestCulture = new RequestCulture("de-DE");
// Formatting numbers, dates, etc.
opts.SupportedCultures = supportedCultures;
// UI strings that we have localized.
opts.SupportedUICultures = supportedCultures;
});
Все еще не работает. Я вызываю example.com/Test?date=12.04.2017 и получаю в отладчике следующее:
public IActionResult Test(DateTime date) {
string dateString = date.ToString("d"); // 04.12.2016
string currentDateString = DateTime.Now.ToString("d"); // 14.01.2016
return Ok();
}
Подробнее здесь: https://stackoverflow.com/questions/416 ... p-net-core