DateTime Format - 在 c# 中获取 System.FormatException

本文关键字:获取 System FormatException Format DateTime | 更新日期: 2023-09-27 18:32:39

我对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 Format - 在 c# 中获取 System.FormatException

这个问题有点奇怪,因为您的格式字符串适用于给定的输入字符串(在所有区域性中(,并且您希望以相同的格式输出。也许有人输入了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来验证用户输入。