zoukankan      html  css  js  c++  java
  • 封装的小类:统计程序上个阶段运行的时间长度和运行的总时长

    调用:

      TimeUseHelper th = new TimeUseHelper();//产生开始时间
    
      #region 第一个阶段的代码
      #endregion
      th.TimePeriodAndAll();
    
      #region 第二个阶段的代码
      #endregion
      th.TimePeriodAndAll();

    定义:

        /// <summary>
        /// 用于输出程序执行阶段所花费的时间长度
        /// </summary>
        public class TimeUseHelper
        {
            /// <summary>
            /// 开始时间
            /// </summary>
            public DateTime startTime { get; set; }
            /// <summary>
            /// 上一个结束时间(用于计算上个阶段一共耗费了多长时间)
            /// </summary>
            public DateTime lastTime { get; set; }
    
            /// <summary>
            /// 初始化,记录开始时间
            /// </summary>
            public TimeUseHelper()
            {
                startTime = DateTime.Now;
                lastTime = DateTime.Now;
            }
    
            /// <summary>
            /// 返回上一阶段耗费的时间
            /// </summary>
            public void TimePeriod()
            {
                DateTime now = DateTime.Now;
                if(now != lastTime)
                {
                    var timespan = now - lastTime;
                    lastTime = now;
                    Console.WriteLine($"  上个阶段耗时:{timespan.Minutes}分 {timespan.Seconds} 秒");
                }
            }
    
            /// <summary>
            /// 从开始到现在共耗费的时间
            /// </summary>
            public void TimeAll()
            {
                DateTime now = DateTime.Now;
                if (now != startTime)
                {
                    var timespan = now - startTime;
                    Console.WriteLine($"  共耗时:{timespan.Minutes}分 {timespan.Seconds} 秒");
                }
            }
    
            /// <summary>
            /// 上个阶段和总的时间
            /// </summary>
            public void TimePeriodAndAll()
            {
                DateTime now = DateTime.Now;
                var spon_period = now - lastTime;
                lastTime = now;
                var spon_all = now - startTime;
                if(spon_period.Hours == 0)
                {
                    Console.WriteLine($"  上个阶段耗时:{spon_period.Minutes}分 {spon_period.Seconds} 秒");
                }
                else
                {
                    Console.WriteLine($"  上个阶段耗时:{spon_period.Hours}小时 {spon_period.Minutes}分 {spon_period.Seconds} 秒");
                }
                
                if(spon_all.Hours == 0)
                {
                    Console.WriteLine($"  共耗时:{spon_all.Minutes}分 {spon_all.Seconds} 秒");
                }
                else
                {
                    Console.WriteLine($"  共耗时:{spon_all.Hours}小时 {spon_all.Minutes}分 {spon_all.Seconds} 秒");
                }
            }
        }
  • 相关阅读:
    项目--Asp.net全局变量的设置和读(web.config 和 Gloab)
    项目--后台代码提示
    项目--给项目添加提示声音
    项目--正则表达式
    项目--HTML Canvas 和 jQuery遍历
    项目--用户自定义控件
    Bzoj2120/洛谷P1903 数颜色(莫队)
    Poj2482 Stars in Your Window(扫描线)
    Poj2182 Lost Cows(玄学算法)
    Poj3468 A Simple Problem with Integers (分块)
  • 原文地址:https://www.cnblogs.com/zhangchaoran/p/10381745.html
Copyright © 2011-2022 走看看