在C#中从控制台输入日期

时间:2017-02-06 19:17:30

标签: c# datetime

我有时间和日期系统在今天,明天和预定日期工作。现在我想为系统创建一些Console.Read,以便您可以输入任何日期并接收相应的日期。

    static void date()
    {
        DateTime now = DateTime.Today;
        Console.WriteLine("Today's date is {0}\n", now);

        DateTime currTimeAndDate = DateTime.Now;
        Console.WriteLine("Today's time and date is {0}\n", currTimeAndDate);

        DateTime tomorrow = currTimeAndDate.AddDays(1);
        Console.WriteLine("Tomorrow's date will be {0}\n", tomorrow);

        DateTime then = new DateTime(1995,4,28);
        Console.WriteLine("I was born {0}\n", then.DayOfWeek);
        Console.Write("Press any key to continue.....\n");
        Console.ReadLine();
    }

    static void inputDate()
    {            
        Console.ReadLine();
    }

}

}

2 个答案:

答案 0 :(得分:2)

由于这是一个控制台应用程序,我建议使用TryParse方法,如下所示。

Console.WriteLine("Enter a date: ");
DateTime userDateTime;
if (DateTime.TryParse(Console.ReadLine(), out userDateTime))
{
     Console.WriteLine("The day of the week is: " + userDateTime.DayOfWeek);
}
else
{
     Console.WriteLine("You have entered an incorrect value.");
}
Console.ReadLine();

答案 1 :(得分:0)

这取决于您希望用户如何输入日期。你可以让他们分别输入一个月,一天和一年,如下:

Console.Write("Enter a month: ");
int month = int.Parse(Console.ReadLine());
Console.Write("Enter a day: ");
int day = int.Parse(Console.ReadLine());
Console.Write("Enter a year: ");
int year = int.Parse(Console.ReadLine());

DateTime inputtedDate = new DateTime(year, month, day);

如果您愿意,可以让他们输入实际日期:

Console.Write("Enter a date (e.g. 10/22/1987): ");
DateTime inputtedDate = DateTime.Parse(Console.ReadLine());

请记住这些是示例。在实际程序中,您应该检查以确保输入的值是真实的。另外,您可以使用DateTime.ParseExact()代替DateTime.Parse(),以允许用户以自定义格式输入日期。