在格式化日期时未获得预期输出

本文关键字:输出 格式化 日期 | 更新日期: 2023-09-27 18:26:23

我希望我的程序验证日期格式是否为mm/dd/yyyy。我不想使用任何投掷/接球盖帽。

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();
    }
}

在格式化日期时未获得预期输出

查看DateTime.TryParseExact

您需要更改这一行

 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");
 }

尝试:

DateTime dt;
if (
    DateTime.TryParseExact(
        "08/03/2013", 
        "MM/dd/yyyy", 
        null, 
        System.Globalization.DateTimeStyles.None, 
        out dt
    )
)
{
    //Date in correct format
}