C#判断是否在环状数据的指定区间内,判断时间是否在某一时间段内,判断当前小时是否处于某一个时段内

这里注重的是环状区间的判断!如果单纯的只是时间判断完全可以直接比较大小即可如:time>=time1&&time=<time2

                /// <summary>
                /// 判断是否在环状数据的指定区间内
                /// </summary>
                /// <param name="ringSize">环的大小</param>
                /// <param name="first">起始位置</param>
                /// <param name="last">终止位置</param>
                /// <param name="num">需要判断的数据</param>
                /// <returns>是否在区间内</returns>
                public static bool InRingSection(double ringSize, double first, double last, double num)
                {
                        first %= ringSize;
                        last %= ringSize;
                        double distance = (last + ringSize - first) % ringSize;
                        return (num + ringSize - first) % ringSize <= distance;
                }

使用:判断当前时间是否在晚上10点到早上8点之间

                private static void Main(string[] args)
                {
                        //判断当前时间是否在晚上10点到早上8点之间,因为7点59取到的小时部分是7,所以取值应该是22:00:00~07:59:59
                        bool bl = InRingSection(24, 22, 07, DateTime.Now.Hour);
                        Console.Write(bl);
                        Console.ReadLine();
                }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值