一个 C# 函数,用于检查日月年中的日期

本文关键字:日期 检查 函数 用于 一个 | 更新日期: 2023-09-27 17:55:41

我有三个字符串/整数,分别是日、月和年。有没有办法检查它们是否采用有效的日期时间格式?我正在使用 ASP.NET。

当用户注册时,他输入月、日和年。

我曾经将三个变量转换为字符串并尝试解析以检查它是否合法,但唯一的问题是在不同的机器上运行同一个项目,因为一些不同的机器使用不同的日期格式。

一个 C# 函数,用于检查日月年中的日期

这个

怎么样:

    private bool IsValidDate(int year, int month, int day)
    {
        if (year < DateTime.MinValue.Year || year > DateTime.MaxValue.Year)
            return false;
        if (month < 1 || month > 12)
            return false;
        return day > 0 && day <= DateTime.DaysInMonth(year, month);
    }

如果您已经将作为三个单独的整数,则可以直接使用 DateTime 的构造函数之一,而不是将它们放入字符串中并将其重新解析为 DateTime。

DateTime mydate;
myDate = new DateTime(year, month, day);

如果日期无效,这将引发ArgumentOutOfRangeException,因此您应该将其包装在 try/catch 块中,并在日期格式无效时使用 catch(ArgumentOutOfRangeException e) 块来管理逻辑。