我已经在查询字符串中传递了一个日期作为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];
}
}
答案 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
}