我希望我的程序验证日期格式为mm/dd/yyyy
。我不想使用任何throw / catch块。
class FunWithScheduling
{
public void AddView()
{
...
...
Console.WriteLine("Enter the Date Scheduled For the Meeting:");
string Date = Console.ReadLine();
DateTime date = DateTime.Parse(Date);
string formatted = date.ToString("MM-dd-yyyy");
if (Date != formatted)
Console.WriteLine("Invalid Choice");
...
...
}
static void Main()
{
FunWithScheduling a = new FunWithScheduling();
a.AddView();
}
}
答案 0 :(得分:1)
尝试:
DateTime dt;
if (
DateTime.TryParseExact(
"08/03/2013",
"MM/dd/yyyy",
null,
System.Globalization.DateTimeStyles.None,
out dt
)
)
{
//Date in correct format
}
答案 1 :(得分:1)
查看DateTime.TryParseExact
答案 2 :(得分:1)
您需要更改此行
DateTime date = DateTime.Parse(Date);
要
DateTime date;
if(!DateTime.TryParseExact(Date,"MM-dd-yyyy",new CultureInfo("en-US"),
DateTimeStyles.None,
out date))
{
Console.WriteLine("Invalid Choice");
}