• C# TimeSpan实现对时间差的计算


    直接上代码:)

                   var acc= entities.AccountLoginInfoes.Where(r => r.AccountID == item.DevID&&r.AccountType==0).ToList();
                   TimeSpan time = new TimeSpan();
                   string dateDiff = null;
                    
                    foreach (var i in acc)
                    {
                        if (!string.IsNullOrWhiteSpace(i.LoginTime)&&!string.IsNullOrWhiteSpace(i.LogoutTime))//LoginTime登陆时间  LogoutTime登出时间
                        {
                            
                            var in1 = Convert.ToDateTime(i.LogoutTime);
                            var out1 = Convert.ToDateTime(i.LoginTime);
                            time += in1 - out1;
    
                            TimeSpan ts1 = new TimeSpan(in1.Ticks);
                            TimeSpan ts2 = new TimeSpan(out1.Ticks);
    
                            TimeSpan ts = ts1.Subtract(ts2).Duration();
                            string days = ts.Days.ToString(), hours = ts.Hours.ToString(), minutes = ts.Minutes.ToString(), seconds = ts.Seconds.ToString();
    
                            if (ts.Days < 10)
                                {
                                    days = "0" + ts.Days.ToString();
                                }
                            if(ts.Hours<10)
                                {
                                    hours = "0" + ts.Hours.ToString();
                                }
                            if (ts.Minutes<10)
                                {
                                    minutes = "0" + ts.Minutes.ToString();
                                }
                            if(ts.Seconds<10)
                                {
                                    seconds = "0" + ts.Seconds.ToString();
                                }
    
                            dateDiff = days + "天" + hours + "时" + minutes + "分" + seconds + "秒";
    
                            }
                       
                    }

    最后的显示效果

    补充:

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

    命名空间:System 程序集:mscorlib(在 mscorlib.dll 中)

    说明: 1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值,

    其中的五个重载方法之一的结构 TimeSpan( int days, int hours, int minutes, int seconds )

    下面的列表涵盖了其中的一部分方法及属性解释

    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值表示的秒数。

  • 相关阅读:
    div布局的几点体会
    DIV高度的问题
    想修改CSS
    如何在EXCEL SHEET中 动态添加控件
    div的背景设置的问题
    CSS的资源
    远程调试
    Javascript跨域访问解决方案 Leone
    再谈PHP开发者常犯的10个MySQL错误 Leone
    开发人员需要熟知的常用Linux命令之八:Version、Kernel查看 Leone
  • 原文地址:https://www.cnblogs.com/CharmingDang/p/9663665.html
Copyright © 2020-2023  润新知