.NET Framework имеет несколько приятных методов в структуре DateTime :: Parse, TryParse, ParseExact, TryParseExact.
Эта информация обсуждается на MSDN .
Поскольку вы предоставляете пользовательскую строку даты, мы должны затем использовать ParseExact или TryParseExact. Последний не выдает исключение, если не удается разобрать.
Итак ... давайте попробуем это ...
using System.Globalization;
CultureInfo MyCultureInfo = new CultureInfo("en-US");
string myString = "Jul-05";
DateTime myDateTime = DateTime.ParseExact(myString, "MMM-yy", MyCultureInfo))
Console.WriteLine();
значение myDateTime затем может быть передано в базу данных как свойство DateTime и проверено на соответствие этому.
РЕДАКТИРОВАТЬ: Черт, избили Роуленд на минуту, как я его печатал!
РЕДАКТИРОВАТЬ 2: Пожалуйста, обратите внимание на "МММ-гг". Как указано на странице MSDN , MMM
означает «Представляет сокращенное название месяца, как определено в текущем свойстве System.Globalization.DateTimeFormatInfo.AbbreviatedMonthNames». mmm
(нижний регистр) недействителен.