zoukankan      html  css  js  c++  java
  • TimeSpan时间间隔

    一个TimeSpan对象都表示一个时间间隔 (持续时间的时间或时间),
    单位为正数或负数的天数、 小时、 分钟、 秒和小数部分的第二个数字。
    TimeSpan结构还可以用于表示一天时间,但仅,如果与某一特定日期无关的时间。
    否则为DateTime或DateTimeOffset应改为使用结构。


     TimeSpan构造函数
    1.TimeSpan(Int64): 将TimeSpan结构的新实例初始化为指定的刻度数。
    2.TimeSpan(Int32, Int32, Int32): 将TimeSpan结构的新实例初始化为指定的小时数、分钟数和秒数。
    3.TimeSpan(Int32, Int32, Int32, Int32): 将TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数和秒数。
    4.TimeSpan(Int32, Int32, Int32, Int32, Int32): 将TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数、秒数和毫秒数。

    1.TimeSpan(Int64),public TimeSpan (long ticks);
    将TimeSpan 结构的新实例初始化为指定的刻度数
    ticks 100 毫微秒为单位表示的时间段。

    TimeSpan inverval2 = new TimeSpan(20);
    Console.WriteLine(inverval2.ToString());//00:00:00.0000020

     2.TimeSpan(Int32, Int32, Int32),public TimeSpan (int hours, int minutes, int seconds);
    将TimeSpan 结构的新实例初始化为指定的小时数、分钟数和秒数。

    TimeSpan inverval3 = new TimeSpan(15, 45, 30);
    Console.WriteLine(inverval3.ToString());//15:45:30

    3.TimeSpan(Int32, Int32, Int32, Int32),public TimeSpan(int days, int hours, int minutes, int seconds);

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

    TimeSpan inverval4_1 = new TimeSpan(10, 20, 30, 40);
    TimeSpan inverval4_2 = new TimeSpan(-10, 20, 30, 40);
    TimeSpan inverval4_3 = new TimeSpan(-10, -20, -30, -40);
    TimeSpan inverval4_4 = new TimeSpan(0, 49, 30, 40);
    Console.WriteLine("{0,-35}{1,20}", "new TimeSpan(10, 20, 30, 40)", inverval4_1.ToString());
    Console.WriteLine("{0,-35}{1,20}", "new TimeSpan(-10, 20, 30, 40)", inverval4_2.ToString());
    Console.WriteLine("{0,-35}{1,20}", "new TimeSpan(-10, -20, -30, -40)", inverval4_3.ToString());
    Console.WriteLine("{0,-35}{1,20}", "new TimeSpan(0, 49, 30, 40)", inverval4_4.ToString());
    
    new TimeSpan(10, 20, 30, 40) //10.20:30:40
    new TimeSpan(-10, 20, 30, 40) //-9.03:29:20
    new TimeSpan(-10, -20, -30, -40) //-10.20:30:40
    new TimeSpan(0, 49, 30, 40) //2.01:30:40
    View Code

     4.TimeSpan(Int32, Int32, Int32, Int32, Int32),public TimeSpan(int days, int hours, int minutes, int seconds, int milliseconds);

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

    TimeSpan inverval5 = new TimeSpan(10, 20, 30, 40,20);
    Console.WriteLine("{0,-35}{1,20}", "new TimeSpan(10, 20, 30, 40,20)", inverval5.ToString());
    new TimeSpan(10, 20, 30, 40,20) //10.20:30:40.0200000

    TimeSpan 字段
     Maximum:表示最大的TimeSpan值,此字段为只读,此字段的值等效于Int64.MaxValue计时周期数。
                       此值的字符串表示形式是正 10675199.02:48:05.4775807 或略微超过 10675199 天。
     Maximum:表示最小的TimeSpan值,此字段为只读,此字段的值等效于Int64.MinValue计时周期数。
          此值的字符串表示形式是负 10675199.02:48:05.4775808 或负略微超过 10675199 天。
     Zero:表示零TimeSpan值,此字段为只读
        因为的值Zero字段是TimeSpan对象,表示零个时间值,将其与其他进行比较TimeSpan对象以确定
          是否后者表示正的非零或负时间间隔。 此外可以使用此字段来初始化TimeSpan为零个时间值的对象。
     TicksPerDay:表示一天中的刻度数。 此字段为常数。此常量的值是 864 亿个;也就是说,864,000,000,000。
     TicksPerHour:表示 1 小时的刻度数。 此字段为常数。此常量的值是 36 亿个;也就是说,36,000,000,000。
     icksPerMinute:表示 1 分钟的刻度数。 此字段为常数。此常量的值为 600 万;也就是说,600000000。
     TicksPerSecond:表示 1 秒的刻度数。此常量的值为 1000 万;也就是说,10,000,000。
     TicksPerMinute:表示 1 分钟的刻度数。 此字段为常数。此常量的值为 600 万;也就是说,600000000。
     TicksPerMillisecond:表示 1 毫秒的刻度数。 此字段为常数。此常量的值是 1 万。它是 10,000。

                const string numberFmt = "{0,-22}{1,18:N0}";
                const string timeFmt = "{0,-22}{1,26}";
    
                Console.WriteLine("This example of the fields of the TimeSpan class" + "
    generates the following output.
    ");
                Console.WriteLine(numberFmt, "Field", "Value");
                Console.WriteLine(numberFmt, "-----", "-----");
    
                // Display the maximum, minimum, and zero TimeSpan values.
                Console.WriteLine(timeFmt, "Maximum TimeSpan", Align(TimeSpan.MaxValue));
                Console.WriteLine(timeFmt, "Minimum TimeSpan", Align(TimeSpan.MinValue));
                Console.WriteLine(timeFmt, "Zero TimeSpan", Align(TimeSpan.Zero));
                Console.WriteLine();
    
                // Display the ticks-per-time-unit fields.
                Console.WriteLine(numberFmt, "Ticks per day", TimeSpan.TicksPerDay);
                Console.WriteLine(numberFmt, "Ticks per hour", TimeSpan.TicksPerHour);
                Console.WriteLine(numberFmt, "Ticks per minute", TimeSpan.TicksPerMinute);
                Console.WriteLine(numberFmt, "Ticks per second", TimeSpan.TicksPerSecond);
                Console.WriteLine(numberFmt, "Ticks per millisecond", TimeSpan.TicksPerMillisecond);        
    
    
            /// <summary>
            ///对齐方法
            /// </summary>
            /// <param name="interval"></param>
            /// <returns></returns>
            static string Align(TimeSpan interval)
            {
                string intervalStr = interval.ToString();
                int pointIndex = intervalStr.IndexOf(':');
    
                pointIndex = intervalStr.IndexOf('.', pointIndex);
                if (pointIndex < 0) intervalStr += "        ";
                return intervalStr;
            }    

    未完待续。。。。

  • 相关阅读:
    【BZOJ 2115】Xor
    COCI 2017-2018#7
    【SCOI 2005】骑士精神
    [cocos2d-x]我发现的内存管理机制的一些问题
    [深度探索C++对象模型]trival constructor和non-trival constructor
    [C++标准模板库:自修教程与参考手册]关于deque
    [C++标准模板库:自修教程与参考手册]关于vector
    [C++标准模板库:自修教程与参考手册]关于auto_ptr
    [cocos2d-x]关于声音和音效
    [cocos2d-x]关于坐标系
  • 原文地址:https://www.cnblogs.com/HapetyPing/p/9919589.html
Copyright © 2011-2022 走看看