比较两个日期 - 字符串未被识别为有效的DateTime

时间:2016-08-03 04:34:35

标签: c# .net datetime

我试图将当前日期与日期时间选择器中的日期进行比较。控件显示这样的日期

enter image description here

我正在比较像这样的两个日期

 DateTime dt1 = DateTime.Parse(dtInvoiceDate.Text);
            DateTime dt2 = DateTime.Now;
            if (dt2.Date > dt1.Date)
            {

                dgvGetData.Columns["Edit"].Visible = false;
            }

但这是抛出 字符串未被识别为有效的DateTime异常。

如何以这种简短的格式解析日期并进行比较。

2 个答案:

答案 0 :(得分:2)

您不应该解析DateTime。日期选择器控件必须为您提供DateTime的日期。尝试:

DateTime dt1 = dtInvoiceDate.Value;

答案 1 :(得分:0)

如Gerado所述,您不应该解析日期选择器,也可以将 ValueChanged 属性添加到DTP控件中,这通常很有用。每当用户更改 DateTime 时,都会执行此事件处理程序。

DateTime date = dateTimePickerCheck.Value;
DateTime now = DateTime.Now;
if (date.Date > now.Date)
{
     //your code logic
}