1

您能帮我删除代码中的时间,还是更正我的代码以找出可能的错误。谢谢。这是我的代码,稍后会说明错误。

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) 行显示一个错误,指出 > 不能用作日期时间字符串类型的操作数。

请帮忙。提前致谢。

4

3 回答 3

3

您想将DateTimes 相互比较。由于您想排除时间部分,因此该Date属性将在午夜时分两个日期。

 DateTime mydate1 = this.dateTimePicker1.Value;
 if (mydate1.Date > datelimit.Date)
  {
          MessageBox.Show("Cannot Sync data more or equal to 90 days");
  }
于 2014-03-26T19:05:56.713 回答
0

只需删除.ToShortDateString()

并且:

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

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

于 2014-03-26T19:07:15.377 回答
0

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

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

DateTime mydate1 = this.dateTimePicker1.Value;

这样,您将比较相同类型的事物 ( DateTime)。

于 2014-03-26T19:07:51.360 回答