zoukankan      html  css  js  c++  java
  • 计算开始时间,结束时间 中间间隔毫秒数

            /// <summary>
            /// 距离下一个运行时间还需sleep多少毫秒
            /// </summary>
            /// <returns></returns>
            public static int SleepMilliseconds()
            {
                DateTime NowDate = DateTime.Now;
                string nowDate = NowDate.ToString("yyyy-MM-dd");
                string startTime = nowDate + " " + Config.StartTime;
                string endTime = nowDate + " " + Config.EndTime;
                string finishTime = nowDate + " " + "23:59:59";
    
                DateTime StartTime = DateTime.Parse(startTime);
                DateTime EndTime = DateTime.Parse(endTime);
                DateTime FinishTime = DateTime.Parse(finishTime);
    
                TimeSpan A, B;
                if (DateTime.Compare(StartTime, EndTime) < 0)
                {
                    //开始时间早于结束时间   开始时间 ~ 结束时间
                    if (DateTime.Compare(StartTime, NowDate) <= 0 && DateTime.Compare(NowDate, EndTime) <= 0)
                    {
                        return 0;
                    }
                    else if (DateTime.Compare(NowDate, StartTime) < 0)
                    {
                        A = new TimeSpan(StartTime.Ticks);
                        B = new TimeSpan(NowDate.Ticks);
                        return (int)A.Subtract(B).Duration().TotalMilliseconds;
                    }
                    else
                    {
                        A = new TimeSpan(StartTime.AddDays(1).Ticks);
                        B = new TimeSpan(NowDate.Ticks);
                        return (int)A.Subtract(B).Duration().TotalMilliseconds;
                    }
                }
                else 
                {
                    //开始时间大于结束时间   开始时间 ~ 23:59:59  和  00:00:01  ~ 结束时间
                    if (DateTime.Compare(StartTime, NowDate) <= 0 || DateTime.Compare(NowDate, EndTime) <= 0)
                    {
                        return 0;
                    }
                    else
                    {
                        A = new TimeSpan(StartTime.Ticks);
                        B = new TimeSpan(NowDate.Ticks);
                        return (int)A.Subtract(B).Duration().TotalMilliseconds;
                    }
                }
            }


  • 相关阅读:
    学习笔记::有上下界的网络流
    zoj2314
    bzoj3261
    bzoj 1898
    bzoj4009
    bzoj4033
    bzoj3389
    bzoj2427
    uva 11825
    交换A与B值的四种方法
  • 原文地址:https://www.cnblogs.com/JQSY/p/5540083.html
Copyright © 2011-2022 走看看