c# timespan - CSDN
精华内容
参与话题
  • C#TimeSpan介绍

    万次阅读 2018-08-30 14:18:46
    TimeSpan结构:表示一个时间间隔。   它含有以下四个构造函数: TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。 (DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒,即一千万分之一秒...

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

     

    它含有以下四个构造函数:

    TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。

    (DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒,即一千万分之一秒)

    TimeSpan(Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的小时数、分钟数和秒数。

    TimeSpan(Int32, Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数和秒数。

    TimeSpan(Int32,Int3效果为:2, Int32, Int32, Int32)将新的 TimeSpan结构初始化为指定的天数、小时数、分钟数、秒数和毫秒数。

    Demo:

     

    
     
    1. TimeSpan ts0 = new TimeSpan(36); //将时间间隔ts0初始化为36刻度数

    2. TimeSpan ts1 = new TimeSpan(4, 20, 33); //将时间间隔ts1初始化为4小时20分33秒

    3. TimeSpan ts2 = new TimeSpan(2,10,36,45); //将时间间隔ts2初始化为2天10小时36分45秒

    4. TimeSpan ts3 = new TimeSpan(6, 12, 56, 45,23); //将时间间隔ts3初始化为6天12小时56分45秒23毫秒

    5. Console.WriteLine(ts0);

    6. Console.WriteLine(ts1);

    7. Console.WriteLine(ts2);

    8. Console.WriteLine(ts3);

     

    效果为:

     

    并有以下属性:

    Days  //直接取出TimeSpan结构所表示的时间间隔的天数部分。

    Hours //直接取出TimeSpan结构所表示的时间间隔的小时部分。

    Minutes //直接取出TimeSpan结构所表示的时间间隔的分钟部分。

    Seconds //直接取出TimeSpan结构所表示的时间间隔的秒数部分。 

    Milliseconds //直接取出TimeSpan结构所表示的时间间隔的毫秒部分。

    Ticks  //表示多少个一百纳秒(计算机的一个计时单位)。

    TotalDays //将TimeSpan结构所表示的时间间隔换算成等效天数。

    TotalHours //将TimeSpan结构所表示的时间间隔换算成等效小时数。

    TotalMinutes //将TimeSpan结构所表示的时间间隔换算成等效分钟数。

    TotalSeconds //将TimeSpan结构所表示的时间间隔换算成等效秒数数。

    TotalMilliseconds //将TimeSpan结构所表示的时间间隔换算成等效毫秒数。

    Demo:

     

    
     
    1. TimeSpan ts4 = new TimeSpan(7, 18, 23, 41, 576);//将时间间隔ts4初始化为7天18小时23分41秒576毫秒(毫秒以千进制)

    2. DateTime dt1 = new DateTime(2014,9,22,7,16,39);

    3. DateTime dt2 = DateTime.Now;

    4. ts4 = dt2 - dt1; //重新给ts4赋值

    5. Console.WriteLine("时间间隔为:{0}",ts4);

    6. Console.WriteLine("时间间隔的天数部分:{0}", ts4.Days);

    7. Console.WriteLine("时间间隔的小时部分:{0}", ts4.Hours);

    8. Console.WriteLine("时间间隔的分钟部分:{0}", ts4.Minutes);

    9. Console.WriteLine("时间间隔的秒部分:{0}", ts4.Seconds);

    10. Console.WriteLine("时间间隔的毫秒部分:{0}", ts4.Milliseconds);

    11. Console.WriteLine("时间间隔的等效刻度数(计时单位:一百纳秒):{0}", ts4.Ticks); //输出多少个一百纳秒:30天*24小时*60分*60秒*1000毫秒+03小时*60分*60秒*1000毫秒+09分*60秒*1000毫秒+48秒*1000毫秒+599毫秒=2603388599毫秒,因为刻度是一百纳秒(一千万分之一秒),毫秒为一千分之一秒,所以一毫秒等于1万乘以一百纳秒,所以最后等于2603388599毫秒*10000+5781(个一百纳秒)=26033885995781。

    12. Console.WriteLine("时间间隔的等效天数:{0}", ts4.TotalDays);

    13. Console.WriteLine("时间间隔的等效小时数:{0}", ts4.TotalHours);

    14. Console.WriteLine("时间间隔的等效分钟数:{0}", ts4.TotalMinutes);

    15. Console.WriteLine("时间间隔的等效秒数:{0}", ts4.TotalSeconds);

    16. Console.WriteLine("时间间隔的等效毫秒数:{0}", ts4.TotalMilliseconds);

     

    效果为:

    展开全文
  • C#Timespan的用法

    万次阅读 2016-10-23 14:53:33
    C#里如何使用Timespan
    eg1.DateTime   dt1   =   DateTime.Now;   
      DateTime   dt2   =   DateTime.Now.AddDays(-7);   
      TimeSpan   ts   =   dt1   -   dt2;   
        
      int   days   =   ts.Days;   //dt1和dt2相差多少天


    eg2.
         //编辑月份和系统登录月份是否相等
         if(Convert.ToDateTime(DateTime.Now.ToShortDateString()).Month==Convert.ToDateTime(this.GetQueryString("sdate")).Month)
         {
          TimeSpan  ts=Convert.ToDateTime(DateTime.Now.ToShortDateString())-Convert.ToDateTime(this.GetQueryString("sdate"));
          iDays=ts.Days;
          //登录系统的前三天可以编辑
          if(iDays<4)
          {
           Submiter submit = new Submiter(this,"tt");
           this.iseretail.SelectedValue=this.GetQueryString("rid");
           this.txtTime.Text=this.GetQueryString("sdate").ToString();
           this.InputSelect1.WhereCondition=" gxlshd='"+this.GetQueryString("rid")+"'";
           if(this.GetQueryString("workid")!="")
            this.InputSelect1.SelectedValue=this.GetQueryString("workid");
           submit.InitInsertMode();
           SetDataGrid();
          }
          eg3.C#中计算两个时间的差


     /// <summary>
            /// 计算两个日期的时间间隔
            /// </summary>
            /// <param name="DateTime1">第一个日期和时间</param>
            /// <param name="DateTime2">第二个日期和时间</param>
            /// <returns></returns>
            private 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;

            }说明:


    1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
    2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
    下面的列表涵盖了其中的一部分:
    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值表示的秒数。 

    转自http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2126404.html

    展开全文
  • C# --- 用TimeSpan计算时间

    千次阅读 热门讨论 2018-11-18 14:49:35
    1、TimeSpan结构:表示一个时间间隔。 2、命名空间为 System   程序集:mscorlib(在mscorlib.dll中) 3.、说明:DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体...

    1、TimeSpan结构:表示一个时间间隔

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

    3.、说明:DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,我们可以用DateTime值类型来描述任何在想象范围之内的时间。

    4.、TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值,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值表示的秒数。
    

    代码:

    TimeSpan ts = new TimeSpan(7, 18, 23, 41, 576);//将时间间隔ts4初始化为7天18小时23分41秒576毫秒(毫秒以千进制)
    DateTime dt1 = new DateTime(2014,9,22,7,16,39);
    DateTime dt2 = DateTime.Now;
    ts4 = dt2 - dt1;  //重新给ts4赋值
    Console.WriteLine("时间间隔为:{0}",ts4);
    Console.WriteLine("时间间隔的天数部分:{0}", ts.Days);
    Console.WriteLine("时间间隔的小时部分:{0}", ts.Hours);
    Console.WriteLine("时间间隔的分钟部分:{0}", ts.Minutes);
    Console.WriteLine("时间间隔的秒部分:{0}", ts.Seconds);
    Console.WriteLine("时间间隔的毫秒部分:{0}", ts.Milliseconds);
    Console.WriteLine("时间间隔的等效刻度数(计时单位:一百纳秒):{0}", ts.Ticks); //输出多少个一百纳秒:30天*24小时*60分*60秒*1000毫秒+03小时*60分*60秒*1000毫秒+09分*60秒*1000毫秒+48秒*1000毫秒+599毫秒=2603388599毫秒,因为刻度是一百纳秒(一千万分之一秒),毫秒为一千分之一秒,所以一毫秒等于1万乘以一百纳秒,所以最后等于2603388599毫秒*10000+5781(个一百纳秒)=26033885995781。
    Console.WriteLine("时间间隔的等效天数:{0}", ts.TotalDays);
    Console.WriteLine("时间间隔的等效小时数:{0}", ts.TotalHours);
    Console.WriteLine("时间间隔的等效分钟数:{0}", ts.TotalMinutes);
    Console.WriteLine("时间间隔的等效秒数:{0}", ts.TotalSeconds);
    Console.WriteLine("时间间隔的等效毫秒数:{0}", ts.TotalMilliseconds);
    
    

    结果:
             在这里插入图片描述

    它的四个构造函数

    1、TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。
    
    (DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒,即一千万分之一秒)
    
    2、TimeSpan(Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的小时数、分钟数和秒数。
    
    3、TimeSpan(Int32, Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数和秒数。
    
    4、TimeSpan(Int32,Int3效果为:2, Int32, Int32, Int32)将新的 TimeSpan结构初始化为指定的天数、小时数、分钟数、秒数和毫秒数。
    
    

    代码:

    TimeSpan ts0 = new TimeSpan(36);  //将时间间隔ts0初始化为36刻度数
    TimeSpan ts1 = new TimeSpan(4, 20, 33);  //将时间间隔ts1初始化为4小时20分33秒
    TimeSpan ts2 = new TimeSpan(2,10,36,45);  //将时间间隔ts2初始化为2天10小时36分45秒
    TimeSpan ts3 = new TimeSpan(6, 12, 56, 45,23);  //将时间间隔ts3初始化为6天12小时56分45秒23毫秒
    Console.WriteLine(ts0);
    Console.WriteLine(ts1);
    Console.WriteLine(ts2);
    Console.WriteLine(ts3);
    
    

    结果:
                      在这里插入图片描述

    在这里插入图片描述

    展开全文
  • C# TimeSpan详解

    千次阅读 2016-10-12 19:57:09
    TimeSpan的用法 TimeSpan是用来表示一个时间段的实例,两个时间的差可以构成一个TimeSpan实例,现在就来简单介绍一下几点重要的用法: a 先来介绍几个方法 TimeSpan.Minutes(其他时间比如天数,小时数,秒...

    TimeSpan的用法

    TimeSpan是用来表示一个时间段的实例,两个时间的差可以构成一个TimeSpan实例,现在就来简单介绍一下几点重要的用法:

    a 先来介绍几个方法

    TimeSpan.Minutes(其他时间比如天数,小时数,秒数都一样的情况下得到的分钟数的差),其他的Hours,Second一样

    DateTime.Tick :是一个计时周期,表示一百纳秒,即一千万分之一秒

    TimeSpan.TotalDays:两个时间段相差的日数,其他的TotalHours,TotalMinutes,TotalSeconds 一样


    b 两个时间的差

    string time1 = "2010-5-26 8:10:00";

    string time2 = "2010-5-26 18:20:00";

     

    DateTime t1 = Convert.ToDateTime(time1);

    DateTime t2 = Convert.ToDateTime(time2);

    TimeSpan ts1=t2-t1;

    string tsMin=ts1.Minutes.ToString();

     

    TimeSpan ts11=new TimeSpan(t1.Tick);

    TimeSpan ts22=new TimeSpan(t2.Tick);

    string diff=ts22.Subtract(ts11).TotalMinutes.ToString();

    Subtract:表示两个时间段的差

    diff:就表示两个时间相差的分钟数,上面的例子就是610分钟。

     

    得到一个 TimeSpan 实例,TimeSpan 有一些属性:Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seconds、TotalSeconds、Ticks,注意没有 TotalTicks。

    举例说明

        时间 1 是 2010-1-2 8:43:35;
        时间 2 是 2010-1-12 8:43:34。

    用时间 2 减时间 1,得到一个 TimeSpan 实例。

    那么时间 2 比时间 1 多 9 天 23 小时 59 分 59 秒。

    那么,Days 就是 9,Hours 就是 23,Minutes 就是 59,Seconds 就是 59。

    所以以后想知道两个时间段的差就容易的多了

    展开全文
  • 直接上代码:) var acc= entities.AccountLoginInfoes.Where(r =&gt; r.AccountID == item.DevID&amp;&amp;r.AccountType==0).ToList();... TimeSpan time = new TimeSpan(); ...
  • 标题 属性和方法 1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23...2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值 下面的列表涵盖了其中的一部分: Add:与另一...
  • C# TimeSpan获取 年月

    2019-07-14 17:00:17
    public static string GetYearMonthDayString(this DateTime expires) { try { var now = DateTime.Now; TimeSpan ts = expires - no...
  • C# TimeSpan 时间计算

    千次阅读 2018-10-11 12:06:55
    本文告诉大家简单的方法进行时间计算
  • C# TimeSpan 计算时间差(时间间隔)

    千次阅读 2016-12-06 13:01:18
    TimeSpan 结构 表示一个时间间隔。 命名空间:System 程序集:mscorlib(在 mscorlib.dll 中) 说明: 1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期...
  • C# TimeSpan时间相减

    千次阅读 2013-10-25 11:25:14
    (); List luckyList = bllLucky1.GetLuckyRunTimeByType(6, 10); foreach (EntityLuckyRunTime item in luckyList)
  • TimeSpan startTime = new TimeSpan(System.DateTime.Now.Ticks); A......................代码块 B........................................代码块 TimeSpan endTime = new TimeSpan(System.Da
  • C#TimeSpan转换为正常时间

    万次阅读 2016-06-14 20:43:13
    /***********************************...C#TimeSpan转换为DateTime //获取开始时间 DateTime start = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); //注意13位是整数加上4个零 TimeSpan t
  • 控制台代码: //计算时间间隔 DateTime dt1 = DateTime.Now; DateTime dt2 = dt1.AddDays(1); TimeSpan t = new TimeSpan(); TimeSpan t1 = new TimeSpan();
  • 本文转自:...C#里两个时间相减,得到一个 TimeSpan 实例,TimeSpan 有一些属性:Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seconds、TotalSeconds、Ticks,注意没有 TotalTicks。
  • c# TimeSpan 计算2个日期间隔的天数

    千次阅读 2012-08-27 09:36:34
    DateTime d1 = new DateTime(2012, 2, 1);  DateTime d2 = new DateTime(2012, 2 + 1, 1);  int days = ((TimeSpan)(d2 - d1)).Days;  Response.Write(days);  %>
  • DateTime数据类型时间处理 之 C# TimeSpan DateTime定义: DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在...
  • C#-TimeSpan格式化字符串格式

    千次阅读 2019-07-13 18:20:01
    TimeSpan转字符串 using System; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { TimeSpan duration = new TimeSpan(1, 12, 23, 62); string ...
1 2 3 4 5 ... 20
收藏数 16,079
精华内容 6,431
热门标签
关键字:

c# timespan