C# 提示用户输入新的日期时间

C# 提示用户输入新的日期时间,c#,datetime,console-application,C#,Datetime,Console Application,我正在做一个项目,我必须提示用户输入几个日期。这是我用来提示用户日期、月份和年份的代码 Console.WriteLine("Day: "); var dateDay = Console.ReadLine(); var dateDayInt = Convert.ToInt32(dateDay); Console.WriteLine("Month: "); var dateMonth = Console.ReadLine(); var dateMonthInt = Convert.ToInt32

我正在做一个项目,我必须提示用户输入几个日期。这是我用来提示用户日期、月份和年份的代码

Console.WriteLine("Day: ");
var dateDay = Console.ReadLine();
var dateDayInt = Convert.ToInt32(dateDay);

Console.WriteLine("Month: ");
var dateMonth = Console.ReadLine();
var dateMonthInt = Convert.ToInt32(dateMonth);

Console.WriteLine("Year: ");
var dateYear = Console.ReadLine();
var dateyearInt = Convert.ToInt32(dateYear);

DateTime myDate = new DateTime(dateYearInt, dateMonthInt, dateDayInt, 00, 00, 00, 000);
我在一个方法中使用这个日期,所以它必须是这种格式


正如您所看到的,这是大量重复的代码。如果我再加上一两个日期,我的项目就会变得非常混乱。假设我需要20次约会。有没有更简单的方法,比如每个日期只有一个提示?提前谢谢

为什么不让他们一次性输入整个日期呢

public DateTime GetDateTime()
{
    DateTime ret;
    while (true)
    {
        Console.Write("Date? ");
        var dte = Console.ReadLine();
        if (DateTime.TryParse(dte, out ret))
            return ret;
    }
}

如果你的程序正在运行,但只是需要一个很好的清理/效率调整,可能是解决这类问题的更好地方。回答得好。我会考虑使用DATEMEM.TyPARSECSEAL来避免输入日期格式的任何歧义。是的,它们有很多扩展方法,包括重载到只返回日期或时间部分。但它应该利用当前的制度文化。