C#的TimeSpan

前言

参考

TimeSpan介绍:

https://blog.csdn.net/weixin_41600552/article/details/82220645

微软文档:

https://docs.microsoft.com/en-us/dotnet/api/system.timespan?view=netcore-3.1#definition

说明

定义

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结构初始化为指定的天数、小时数、分钟数、秒数和毫秒数。

摘要

据微软文档,TimeSpan刻度单位为100ns

TimeSpan格式为:天.时:分:秒.百纳秒

单位格式:day.hour:minute:second.100ns

格式示例:0.0:0:0.0000000

示例代码

        static void Test10()
        {
            /*
             1 s = 1000 ms
             1 ms = 1000 us
             1 us = 1000 ns 

             A tick is equal to 100 nanoseconds ,刻度为100 ns
             */
            long t = 10000;//0.1us * 10000 = 1 ms
            var ts1 = new TimeSpan(t);//00:00:00.0010000
            Console.WriteLine(ts1);

            t *= 1000;//1ms * 1000 = 1s
            var ts2 = new TimeSpan(t);//00:00:01
            Console.WriteLine(ts2);

            t *= 60;//1s * 60  = 1 min
            var ts3 = new TimeSpan(t);//00:01:00
            Console.WriteLine(ts3);

            t *= 60;//1min * 60  = 1 hour
            var ts4 = new TimeSpan(t);//01:00:00
            Console.WriteLine(ts4);

            t *= 24;//1hour * 24  = 1 day
            var ts5 = new TimeSpan(t);//1.00:00:00
            Console.WriteLine(ts5);

            t *= 7;//1day * 7  = 1 week
            var ts6 = new TimeSpan(t);//7.00:00:00
            Console.WriteLine(ts6);

            t *= 52;//week * 52  = 1 year
            var ts7 = new TimeSpan(t);//364.00:00:00
            Console.WriteLine(ts7);

            t *= 12;//year * 12  = 1 round
            var ts8 = new TimeSpan(t);//4368.00:00:00
            Console.WriteLine(ts8);

            var i = 0;
        }

 运行结果

原文地址:https://www.cnblogs.com/masonblog/p/13217649.html