If else语句在datetime之间,但忽略时间



你能帮我在我的代码中删除时间,或者更确切地说,纠正我的代码中可能出现的错误。谢谢。下面是我的代码,稍后我会说明错误。

else if (this.dateTimePicker1.Value != DateTime.Now)
                    {
                        this.chkBxLessNinety.Enabled = false;
                        string dateInString = Convert.ToString(Convert.ToDateTime(_dr[4]));
                        DateTime startdate = DateTime.Parse(dateInString);
                        DateTime datelimit = startdate.AddDays(90);
                        //string date = Convert.ToString(Convert.ToDateTime(datelimit.Date).ToString("mm/dd/yyyy"));
                        string mydate1 = this.dateTimePicker1.Value.ToShortDateString();
                        if (mydate1 > datelimit)
                        {
                            MessageBox.Show("Cannot Sync data more or equal to 90 days");
                        }
                        else
                        {
                        }

if (mydate1> datelimit)行显示了一个错误,表示>不能作为字符串类型和日期时间的操作数。

请帮助。

你想比较DateTime和其他的。由于您想要排除时间部分,那么Date属性将使两个日期都在午夜。

 DateTime mydate1 = this.dateTimePicker1.Value;
 if (mydate1.Date > datelimit.Date)
  {
          MessageBox.Show("Cannot Sync data more or equal to 90 days");
  }

删除.ToShortDateString()

也:

string dateInString = Convert.ToString(Convert.ToDateTime(_dr[4]));
DateTime startdate = DateTime.Parse(dateInString);

不要从DateTime转换为字符串,然后再转换回DateTime,这是没有意义的

您不能使用>来比较字符串和日期时间。相反,您应该替换

string mydate1 = this.dateTimePicker1.Value.ToShortDateString();

DateTime mydate1 = this.dateTimePicker1.Value;

这样,你将比较相同类型的东西(DateTime)。

相关内容

  • 没有找到相关文章

最新更新