zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#计算两个时间的差

c#计算 时间 两个
2023-09-14 09:04:59 时间

 理论区别

DateTime是类,表示时间上的某一刻。

TimeSpan是结构,表示一个时间间隔。

 

DateTime类型包含了表示某个日期(年、月、日)的数据以及时间值,可以使用指定的成员以各种形式将他们格式化。

TimeSpan结构允许你方便地使用各个成员定义和转换时间单位。

样例代码:

        /// <summary>
        /// 计算时间差
        /// </summary>
        /// <param name="DateTime1"></param>
        /// <param name="DateTime2"></param>
        /// <returns></returns>
        private static string DateDiff(DateTime DateTime1, DateTime DateTime2)
        {
            string dateDiff = null;

            TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
            TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
            TimeSpan ts = ts1.Subtract(ts2).Duration();
            dateDiff = ts.Days.ToString() + "天"
                + ts.Hours.ToString() + "小时"
                + ts.Minutes.ToString() + "分钟"
                + ts.Seconds.ToString() + "秒";
            return dateDiff;
        }
 static void Main(string[] args)
        {
            string t1 = "2020-5-5 11:20:01";
            string t2 = "2021-1-1 11:20:05";
            string s = DateDiff(Convert.ToDateTime(t1), Convert.ToDateTime(t2));
            Console.WriteLine(s);
        }

输出样例: 

其它函数:

Add:与另一个TimeSpan值相加。 
Days:返回用天数计算的TimeSpan值。 
Duration:获取TimeSpan的绝对值。 
Hours:返回用小时计算的TimeSpan值 
Milliseconds:返回用毫秒计算的TimeSpan值。 
Minutes:返回用分钟计算的TimeSpan值。 
Negate:返回当前实例的相反数。 
Seconds:返回用秒计算的TimeSpan值。 
Subtract:从中减去另一个TimeSpan值。 
Ticks:返回TimeSpan值的tick数。 
TotalDays:返回TimeSpan值表示的天数。 
TotalHours:返回TimeSpan值表示的小时数。 
TotalMilliseconds:返回TimeSpan值表示的毫秒数。 
TotalMinutes:返回TimeSpan值表示的分钟数。 
TotalSeconds:返回TimeSpan值表示的秒数。