c#判断一个时间是否在两个时间之间不是这样判断的吗

时间:2022-12-06 00:46:30
 我设了个updateDate这个世界是在dt0 和dt1之间的时间 但是他不走这个if 什么原因 c#判断一个时间是否在两个时间之间不是这样判断的吗


dt0 是当前时间 , dt1是当前时间-1小时的时间
if (updateDate < dt0 && updateDate >dt1)
            {
             Response.Write("ok");               
            }
            

6 个解决方案

#1


dt0  dt1谁大谁小?

#2


可以的

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

#3


        /// <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;
        }

#4


            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验证下。

#5


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

#6


可以比较,你设置断点,看看三个时间是不是你指定的值

#1


dt0  dt1谁大谁小?

#2


可以的

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

#3


        /// <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;
        }

#4


            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验证下。

#5


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

#6


可以比较,你设置断点,看看三个时间是不是你指定的值