DateTime.TryParseExact неправильно анализирует месяц в моей дате как январь - PullRequest
2 голосов
/ 22 марта 2012

Ниже фрагмента кода, показывающего «07/01/2011» вместо «07/09/2011». Что-то не так с этим фрагментом кода?

Фрагмент кода:

DateTime result;
DateTime.TryParseExact(
   "07/09/2011", 
   "dd-mm-yyyy", 
   new CultureInfo("en-GB"),
   System.Globalization.DateTimeStyles.None, 
   out result);

// shows "07/01/2011"
MessageBox.Show(result.ToString());

Ответы [ 3 ]

14 голосов
/ 22 марта 2012

mm - «Минуты». MM это месяц. Кроме того, оно не должно совпадать ни с чем, поскольку в вашей дате вы используете / для разделения компонентов и в шаблоне, который вы используете тире.

Таким образом, либо ваш шаблон даты должен быть dd/MM/yyyy, либо ваша строка даты должна выглядеть как 07-09-2011.

4 голосов
/ 22 марта 2012

Правильная строка формата: dd/MM/yyyy

1 голос
/ 22 марта 2012

dd-mm-yyyy должно быть dd/MM/yyyy, потому что мм обозначает минуты, а - не равно / в TryParseExact.

Проверка: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

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