检查日期选择器值是否小于今天的日期

时间:2013-12-06 20:48:12

标签: c#

尝试检查用户何时输入的日期大于今天的日期,以便我可以抛出一个消息框来显示错误并抓住它。我一直在尝试下面的代码,但它说我不能使用运算符来检查。任何帮助将不胜感激。

DateTime check;
bool checker = false;
if (DateTime.TryParse(dpDate.Text, out check) < DateTime.Now)
{
     checker = true;
}

3 个答案:

答案 0 :(得分:4)

DateTime.TryParse会返回一个bool,表示解析成功/不成功,修改你的支票,如:

if (DateTime.TryParse(dpDate.Text, out check) && check  < DateTime.Now)

答案 1 :(得分:3)

TryParse返回一个bool值,指示解析是否成功,您无法将其与日期时间进行比较。你应该这样做

DateTime check;
bool checker = false;
bool valid = DateTime.TryParse(dpDate.Text, out check);
if (valid && (check < DateTime.Now))
{
    checker = true;
}

答案 2 :(得分:2)

DateTime.TryParse返回boolean值。

因此,在if语句中,您尝试将boolean值(truefalse)与DateTime进行比较。你不能这样做。

您应首先将checkDateTime.Now<进行比较,然后使用&&(条件AND),结果为DateTime.TryParse作为Habib mentioned

由于<运算符的优先级高于&&运算符,因此您不必使用任何括号。