У меня есть программа на c #, которая, помимо прочего, должна иметь возможность анализировать строку, которая выглядит следующим образом:
2011-09-20_104627
Для действительного объекта DateTime.
Может кто-нибудь помочь мне с кодом?
Использование DateTime.TryParseExact ()
string myDateTimeString = "2011-09-20_104627"; DateTime myDateTimeObject; DateTime.TryParseExact(myDateTimeString, "yyyy-MM-dd_HHmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTimeObject);
Примечание:"ЧЧ" == 24-часовой формат. "чч" == 12-часовой формат.
DateTime.ParseExact выглядит как хорошее предположение.
DateTime.ParseExact
В вашем случае DateTime.ParseExact("2011-09-20_104627","yyyy-MM-dd_HHmmss",System.Globalization.CultureInfo.InvariantCulture) работает.
DateTime.ParseExact("2011-09-20_104627","yyyy-MM-dd_HHmmss",System.Globalization.CultureInfo.InvariantCulture)
Непроверенный, с манжеты ...
DateTime dt; // HH for 24-hour clock; hh for 12-hour clock if (DateTime.TryParseExact("yyyy-MM-dd_HHmmss", out dt)) { ... }
Вы должны иметь возможность использовать DateTime.ParseExact с правилом пользовательского формата.
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
Я не знаю, что такое 014627 в вашем примере, но оно начнется с
yyyy-MM-dd_