コード例 #1
0
        /// <summary>
        /// 获取时间间隔字符串
        /// </summary>
        /// <param name="state">结束方式</param>
        ///     Start  -> 开始计时
        ///     End    -> 结束计时并返回时间间隔
        ///     Reload -> 重启计时并返回上次时间间隔
        /// <returns>返回结果</returns>
        public string StrMarkTime(MarkTimeStatus state = MarkTimeStatus.Reload)
        {
            string   spanTime;
            TimeSpan ts = markTime(state);

            if (ts.Days > 0)
            {
                spanTime = ts.Days.ToString() + "天" + ts.Hours.ToString() + "时" + ts.Minutes.ToString() + "分" + ts.Seconds.ToString() + "秒" + ts.Milliseconds.ToString() + "毫秒";
            }
            else if (ts.Hours > 0)
            {
                spanTime = ts.Hours.ToString() + "时" + ts.Minutes.ToString() + "分" + ts.Seconds.ToString() + "秒" + ts.Milliseconds.ToString() + "毫秒";
            }
            else if (ts.Minutes > 0)
            {
                spanTime = ts.Minutes.ToString() + "分" + ts.Seconds.ToString() + "秒" + ts.Milliseconds.ToString() + "毫秒";
            }
            else if (ts.Seconds > 0)
            {
                spanTime = ts.Seconds.ToString() + "秒" + ts.Milliseconds.ToString() + "毫秒";
            }
            else
            {
                spanTime = ts.Milliseconds.ToString() + "毫秒";
            }
            return(spanTime);
        }
コード例 #2
0
 /// <summary>
 /// 时间管理函数
 /// </summary>
 /// <param name="state">
 ///     Start  -> 开始计时
 ///     End    -> 结束计时并返回时间间隔
 ///     Reload -> 重启计时并返回上次时间间隔
 /// </param>
 /// <returns></returns>
 private TimeSpan markTime(MarkTimeStatus state)
 {
     if (state == MarkTimeStatus.Start)
     {
         StartTime = new TimeSpan(DateTime.Now.Ticks);
         return(StartTime);
     }
     else if (state == MarkTimeStatus.Reload)
     {
         TimeSpan timeSpan = markTime(MarkTimeStatus.End);
         markTime(MarkTimeStatus.Start);
         return(timeSpan);
     }
     else
     {
         EndTime = new TimeSpan(DateTime.Now.Ticks);
         return(EndTime.Subtract(StartTime).Duration());
     }
 }
コード例 #3
0
 /// <summary>
 /// 记时
 /// </summary>
 /// <param name="state">0:开始计时;1:计时结束</param>
 /// <param name="type">随便填字符串,用于区分记录,不影响功能</param>
 /// <param name="str">随便填字符串,用于区分记录,不影响功能</param>
 public static TimeSpan MarkTime(MarkTimeStatus state, string type = "", string str = "")
 {
     if (state == MarkTimeStatus.Start)
     {
         //记录调用接口前的时间
         startTime = new TimeSpan(DateTime.Now.Ticks);
         //Console.WriteLine("开始记录接口" + str + "的相应时间:");
         return(startTime);
     }
     else
     {
         //记录调用接口后的时间
         endTime = new TimeSpan(DateTime.Now.Ticks);
         TimeSpan ts = endTime.Subtract(startTime).Duration();
         //计算时间间隔,求出调用接口所需要的时间
         String spanTime;
         if (ts.Minutes > 0)
         {
             spanTime = ts.Minutes.ToString() + "分" + ts.Seconds.ToString() + "秒" + ts.Milliseconds.ToString() + "毫秒";
         }
         else if (ts.Seconds > 0)
         {
             spanTime = ts.Seconds.ToString() + "秒" + ts.Milliseconds.ToString() + "毫秒";
         }
         else
         {
             spanTime = ts.Milliseconds.ToString() + "毫秒";
         }
         //打印时间
         //if (ts.Minutes > 1 || ts.Seconds > 5)
         //{
         //    Logger.Info(string.Format("{0}接口耗时:{1}", str, spanTime));
         //}
         Console.WriteLine(str + type + "耗时:" + spanTime);
         return(ts);
     }
 }
コード例 #4
0
 /// <summary>
 /// 获取时间间隔
 /// </summary>
 /// <param name="state">结束方式</param>
 ///     Start  -> 开始计时
 ///     End    -> 结束计时并返回时间间隔
 ///     Reload -> 重启计时并返回上次时间间隔
 /// <returns>返回结果</returns>
 public TimeSpan MarkTime(MarkTimeStatus state = MarkTimeStatus.Reload)
 {
     return(markTime(state));
 }