if (dtpFrom.Value < _minFromTime )
               {
                    info = string.Format(@"时间范围应在{0}至{1}之间!", _minFromTime, _maxToTime);
                    return false;
                }
我用断点查了,dtpFrom.Value和 _minFromTime这2个值相等 ,都是精确到秒,但下面的代码却执行了。难道还精确到毫秒吗?

解决方案 »

  1.   

    你最好改成相同的格式比较啊,比如string类型的话以yyyymmddhhmmss的形式进行format后比较,
    datetime 类型用timespan比较,int类型拼接的话用年月日*1000000+时分秒进行比较
      

  2.   

    用这个进行时间比较的 DateTime.Compare(datetime1,datetime2);
      

  3.   

    何止毫秒,千万分之一秒,你换成比较Ticks然后用断点看吧
    http://msdn.microsoft.com/zh-cn/library/system.datetime.ticks.aspx
      

  4.   

    哪怕微妙不同,也认为DateTime的值不同的,你需要给出一个精确度,比如精确到“秒”,用各自的年月日时分秒比较。
      

  5.   

    试试这样
    if ((dtpFrom.Value - _minFromTime ).Seconds > 0)
    ...