簡體   English   中英

AC#函數檢查日期,年份,月份中的日期

[英]A C# function to check a date from day month year

我有三個字符串/整數,分別是日,月和年。 有什么方法可以檢查它們是否為有效的DateTime格式? 我正在使用ASP.NET。

用戶注冊時,他輸入月,日和年。

我曾經將這三個變量轉換為字符串,然后使用tryParse來檢查其合法性,但是唯一的問題是在不同的計算機上運行同一項目,因為某些不同的計算機使用不同的日期格式。

這個怎么樣:

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

如果您已經將daymonthyear作為三個獨立的int,則可以直接使用DateTime的構造函數之一 ,而不用將它們放入字符串並將其重新解析為DateTime。

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

如果日期無效,則將引發ArgumentOutOfRangeException ,因此,當日期格式無效時,應將其包裝在try / catch塊中,並使用catch(ArgumentOutOfRangeException e)塊來管理邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM