如何确保只有在控制台中输入的这种日期格式被接受并存储在文本文件中,而任何其他格式都不应该存储在文本文件中,并且应该显示一条错误消息,提示用户正确输入日期格式。
Date Format = MM/DD/YYYY
使用以下代码 13/10/2013 会显示错误消息,但即使输入正确的格式(如 2013 年 12 月 12 日),它也会显示相同的错误消息并不断重复,如果不验证正确的格式。return 暂停应用程序。
if(!DateTime.TryParseExact(Date,"MM-dd-yyyy",new CultureInfo("en-US"),DateTimeStyles.None,out date))
{
Console.WriteLine("Invalid date format!");
while(!DateTime.TryParseExact(Date,"MM-dd-yyyy",new CultureInfo("en-US"),DateTimeStyles.None,out date))
{
Console.WriteLine("Invalid Date Entered, please format MM-dd-yyyy");
Date = Console.ReadLine();
}
}
不允许使用字符串生成器和其他概念。该怎么办?
我接受用户的输入作为字符串,然后检查它是否格式正确,然后将其转换回字符串,如果它符合指定的格式,然后只有当用户输入正确的日期时它才会存储在我的文本文件中格式。
public override bool IsValid(string value)
{
string format = "MM/dd/yyyy";
DateTime dt;
if (DateTime.TryParseExact((String)value, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
return IsValid(dt);
}
else
{
return false;
}
}
上面的代码可以修改并与我的代码融合以使其正常工作吗?