如何检查给定结构中的日期格式

时间:2014-02-13 11:50:24

标签: c#

我已经在查询字符串中传递了一个日期作为02-2014的格式。并且使用这个日期我完成了搜索。它正在工作,结果很完美。但是当我在浏览器中更改查询字符串值时,那么错误将显示。在这种情况下我只需要一些消息,那么如何检查查询字符串日期值是否格式正确。我的代码是

string dateToSearch = HttpContext.Current.Request["date"];
if (!string.IsNullOrEmpty(dateToSearch))
{
    dateToSearch = dateToSearch.Trim();
    string year = null;
    string month = null;
    var dates = dateToSearch.Split("-".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
    if (dates.Length > 0)
    {
        month = dates[0];
        year = dates[1];
    }
}

2 个答案:

答案 0 :(得分:5)

只需使用格式字符串DateTime.TryParseExact的{​​{1}}即可。这将告诉您输入字符串是否采用您指定的格式,如果是,则通过out参数返回已解析的DateTime对象。

答案 1 :(得分:1)

试试这个:

DateTime date;
if (DateTime.TryParseExact(text, "MM'-'yyyy",
                           CultureInfo.InvariantCulture,
                           DateTimeStyles.None,
                           out date))
{
   // Success
}
else
{
   // Parse failed
}