• 计算开始时间,结束时间 中间间隔毫秒数


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


  • 相关阅读:
    物理数据库设计
    物理数据库设计
    NHibernate 帮助类(单例实际运用)
    HttpContext请求上下文对象
    SqlDataReader类
    在你不懂怎么做的时候
    System.Object 基类
    逻辑数据库设计
    逻辑数据库设计
    NHibernate使用MemCache二级缓存
  • 原文地址:https://www.cnblogs.com/JQSY/p/5540083.html
Copyright © 2020-2023  润新知