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} 秒");
                }
            }
        }
  • 相关阅读:
    年报统计系统—基本信息模块的目标文档
    用户分析
    第一周第三天
    第一周第二天
    第一周第一天
    学习进度条第三周
    学习进度表第二周
    四则运算2
    构建之法阅读笔记 01
    软件工程概论学习进度表第一周
  • 原文地址:https://www.cnblogs.com/zhangchaoran/p/10381745.html
Copyright © 2011-2022 走看看