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


  • 相关阅读:
    组装query,query汇总,query字段
    POJ 1276, Cash Machine
    POJ 1129, Channel Allocation
    POJ 2531, Network Saboteur
    POJ 1837, Balance
    POJ 3278, Catch That Cow
    POJ 2676, Sudoku
    POJ 3126, Prime Path
    POJ 3414, Pots
    POJ 1426, Find The Multiple
  • 原文地址:https://www.cnblogs.com/JQSY/p/5540083.html
Copyright © 2011-2022 走看看