Разбор даты от дд-ММ-гггг до дд МММ гггг - PullRequest
0 голосов
/ 29 мая 2019

Я хочу разобрать формат даты дд-ММ-гггг в дд МММ гггг Я получаю ссылку, но она не может правильно преобразовать дату, она не соответствует дате и месяцу.

Предположим, моя дата

string dat = "11-01-2019"

и я использую

string date = DateTime.Parse(dat).ToString("dd MMM yyyy");

, но возвращается 01 ноября 2019 .Но на самом деле это 11 января 2019 , потому что формат даты dd-MM-гггг, я не понимаю, как исправить это, любой метод синтаксического анализа, который я использую, возвращает 01Ноябрь 2019, это неправильно.Пожалуйста, помогите мне решить проблему

Ответы [ 2 ]

2 голосов
/ 29 мая 2019

Вам нужно будет указать культуру, для которой отформатирована дата.Я предполагаю, что Великобритания здесь:

var ukCulture = System.Globalization.CultureInfo.GetCultureInfo("en-gb");
string dat = "11-01-2019";
string date = DateTime.Parse(dat, ukCulture).ToString("dd MMM yyyy");
Console.WriteLine(date);

Попробуйте онлайн

Обратите внимание, что вы получите FormatException, если введете здесь недопустимую дату, поэтомуможет быть лучше использовать TryParse:

var ukCulture = System.Globalization.CultureInfo.GetCultureInfo("en-gb");
string dat = "11-01-2019";
DateTime parsedDate;
if (DateTime.TryParse(dat, ukCulture, System.Globalization.DateTimeStyles.None, out parsedDate))
{
    string date = parsedDate.ToString("dd MMM yyyy");
    Console.WriteLine(date);
}
else
{
    Console.WriteLine("invalid date");
}

Попробуйте онлайн

0 голосов
/ 29 мая 2019

В дополнение к замечательному ответу Джона, вот список кодов CultureInfo для справки: http://www.csharp -examples.net / культура наименования /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...