Изменение формата по умолчанию для анализа DateTime в ASP.NET CoreC#

Место общения программистов C#
Ответить
Anonymous
 Изменение формата по умолчанию для анализа DateTime в ASP.NET Core

Сообщение Anonymous »

Я получаю дату в базовом контроллере 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»