DateTime.Parse с пользовательским DateTimeFormatInfo выдает исключение - PullRequest
2 голосов
/ 22 марта 2012

Почему этот код вызывает исключение?

var dateTime = "2012-03-21_15.12";
var format = new DateTimeFormatInfo()
{
   FullDateTimePattern = "yyyy-MM-dd-HH_mm.ss"
};

// FormatException: String was not recognized as a valid DateTime.
var parse = DateTime.Parse(dateTime, format); 

Ответы [ 2 ]

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

Ваша строка формата и строка даты не совпадают.

Вы, кажется, забыли часть часов или минут в строке даты.

Это:

 var dateTime = "2012-03-21_15.12";

Должно быть похоже на:

var dateTime = "2012-03-21-15_54.12";

И я предлагаю использовать DateTime.ParseExact:

DateTime.ParseExact("2012-03-21-16_15.12", 
        "yyyy-MM-dd-HH_mm.ss", 
        CultureInfo.InvariantCulture, 
        DateTimeStyles.None)
1 голос
/ 22 марта 2012

Вы можете использовать DateTime.ParseExact, так как в качестве параметра будет использоваться шаблон формата даты и времени.

DateTime.ParseExact

...