現在、テキスト ファイルからさまざまなデータを読み取り、すべてを解析しています。解析される項目の 1 つは、次の形式のイベントの開始時刻です。
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)
理由、またはこれを正しく行う方法がわかりません。
私が望むのは、ファイルから開始時刻を取得し、それを日時オブジェクトに変換し、後で操作することだけです。