我设了个updateDate这个世界是在dt0 和dt1之间的时间 但是他不走这个if 什么原因 c#判断一个时间是否在两个时间之间不是这样判断的吗
dt0 是当前时间 , dt1是当前时间-1小时的时间
if (updateDate < dt0 && updateDate >dt1)
            {
             Response.Write("ok");               
            }
            

解决方案 »

  1.   

    可以的你也可以使用DateTime.Compare方法
    http://msdn.microsoft.com/zh-cn/library/system.datetime.compare(VS.80).aspx
      

  2.   

            /// <summary>
            /// 判断两个日期之间的相差数
            /// </summary>
            /// <param name="howtocompare">要比较的类型,可选参数:year,month,day,hour,minute,second</param>
            /// <param name="startDate">开始日期</param>
            /// <param name="endDate">结束日期</param>
            /// <returns>返回double型数</returns>
            public static double DateDiff(string howtocompare, System.DateTime startDate, System.DateTime endDate)
            {
                double diff = 0;
                System.TimeSpan TS = new System.TimeSpan(endDate.Ticks - startDate.Ticks);            switch (howtocompare.ToLower())
                {
                    case "year":
                        diff = Convert.ToDouble(TS.TotalDays / 365);
                        break;
                    case "month":
                        diff = Convert.ToDouble((TS.TotalDays / 365) * 12);
                        break;
                    case "day":
                        diff = Convert.ToDouble(TS.TotalDays);
                        break;
                    case "hour":
                        diff = Convert.ToDouble(TS.TotalHours);
                        break;
                    case "minute":
                        diff = Convert.ToDouble(TS.TotalMinutes);
                        break;
                    case "second":
                        diff = Convert.ToDouble(TS.TotalSeconds);
                        break;
                }
                return diff;
            }
      

  3.   

                DateTime dt0 = new DateTime(2010, 1, 1);
                DateTime dt1ater = new DateTime(2011, 1, 1);
                DateTime dt = DateTime.Now;            if (dt >= dt0 && dt <= dt1ater) {
                    MessageBox.Show("OK");
                }你的作法是正确的,找其它原因吧。 用这个demo验证下。
      

  4.   

    datetime。中不是有个comparetO的函数吗?