Создание объекта DateTime из строки
В настоящее время я читаю из текстового файла набор данных и разбираю все. Одним из анализируемых элементов является время начала события в формате:
yyMMddHHmm
1306050232
Я тогда разбираюсь на следующее:
string year = "20" + time[0].ToString() + time[1].ToString();
string month = time[2].ToString() + time[3].ToString();
string day = time[4].ToString() + time[5].ToString();
string hour = time[6].ToString() + time[7].ToString();
string minute = time[8].ToString() + time[9].ToString();
string ampm ="";
int hourInt = Convert.ToInt32(hour);
if (hourInt <= 12)
{
time = month + "." + day + "." + year + "@" + hour + ":" + minute + " " + "AM";
ampm= "AM";
}
else
{
hourInt = hourInt - 12;
time = month + "." + day + "." + year + "@" + hourInt.ToString() + ":" + minute + " " + "PM";
ampm= "PM";
}
как только они были проанализированы, я объединил переменные и попытался поместить их в DateTime.
string tempStartTime = year + "-" + month + "-" + day + " " + hour + ":" + minute + " " + ampm;
string starttime = DateTime.ParseExact(tempStartTime, "yyyy-MM-dd HH:mm tt",null);
моя проблема в том, что я получаю предупреждение от try catch:
System.FormatException: String was not recognized as a valid DateTime.
at System.DateTime.ParseExact(String s, String format, IFormatProvider provider)
at Project.GUI.parseSchedule(Int32 count)
Я не понимаю, почему или как правильно это сделать.
Все, что я хочу, это взять время начала из файла, преобразовать его в объект datetime и обработать его позже.