我是C#的新手。我正在编写一个约会计划程序,我希望在控制台中提供日期和时间值作为字符串,然后我想将其解析为DateTime
格式。但通过这样做,我得到了
“System.FormatException” - 字符串未被识别为有效日期时间
这是我的一段代码,
string Format = "dd/MM/yyyy hh:mm tt";
Console.WriteLine("Enter the appointment date and time in(dd/MM/yyyy hh:mm AM/PM) format");
User_Input = Console.ReadLine();
Date_Time = DateTime.ParseExact(User_Input,Format,CultureInfo.InvariantCulture);
当我提供完全符合格式的输入时,例如23/11/2012 08:30 pm ..我收到了上述例外情况。我想用AM/PM
输出datetime。我做错了什么?
答案 0 :(得分:3)
问题有点奇怪,因为您的格式字符串适用于您的给定输入字符串(在所有文化中),并且您希望以相同的格式输出。也许某人输入23/11/2012 18:30 pm
而不是AM / PM指示符。
string format = "dd/MM/yyyy hh:mm tt";
DateTime dateTime = DateTime.ParseExact("23/11/2012 08:30 pm", format, CultureInfo.InvariantCulture);
string output = dateTime.ToString(format, CultureInfo.InvariantCulture);
输出:23/11/2012 08:30 PM
请注意,您始终可以使用DateTime.TryParseExact
来验证用户输入。