Преобразовать строку в стандартное c # datetime - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть эта строка 01 Nov 2018 10:50, и я хочу преобразовать ее в формат даты и времени, например, 2018-11-01 10:50:00.000

Я пробовал это

DateTime.ParseExact("01 Nov 2018 10:50", "yyyy-MM-dd HH:mm:ss,fff",  null)

Но я получаю исключение

System.FormatException: 'Строка не была распознана как допустимый DateTime.'

Ответы [ 3 ]

0 голосов
/ 17 декабря 2018

ParseExact ожидает определение формата, которое соответствует вашему вводу как второй параметр.

Определение формата, которое соответствует вашему вводу: "dd MMM yyyy HH:mm".

См. Пользовательская дата иСтроки формата времени для правильных определений формата.

0 голосов
/ 17 декабря 2018

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

DateTime.ParseExact("01 Nov 2018 10:50", "dd MMM yyyy HH:mm",  null)

Вы получили полную ссылку здесь: https://docs.microsoft.com/en-us/dotnet/api/system.datetime.parseexact?view=netframework-4.7.2

0 голосов
/ 17 декабря 2018

Попробуйте другой формат:

var date = DateTime.ParseExact("01 Nov 2018 10:50", "dd MMM yyyy HH:mm")

Имея объект date, вы можете преобразовать его в нужный формат:

date.ToString("yyyy-MM-dd HH:mm:ss,fff");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...