1. 程式人生 > >VS程式設計,C#求兩個時間之間相差了多少天、多少小時、多少分鐘的一種方法

VS程式設計,C#求兩個時間之間相差了多少天、多少小時、多少分鐘的一種方法

有時需要計算兩個時間點之間的差值,求相差了多少天,多少小時等。這裡提供了C#的一種方法。

 1、使用 TimeSpan 來儲存時間差

            DateTime t1 = DateTime.Parse("2018-10-07 12:30:00");
            DateTime t2 = DateTime.Parse("2017-10-07 ");

            TimeSpan t3 = t1 - t2;  //兩個時間相減 。預設得到的是兩個的時間差  格式如:365.10:35:25  
            Console.WriteLine(t3);

            double getDay = t3.TotalDays; //將這個天數轉換成天數, 返回值是double型別的
            Console.WriteLine(getDay);

            double getHours = t3.TotalHours; //將這個天數轉換成小時, 返回值是double型別的  
            Console.WriteLine(getHours);

            double getMinute = t3.TotalMinutes; //將這個天數轉換成分鐘, 返回值是double型別的  
            Console.WriteLine(getMinute);

            double getSeconds = t3.TotalSeconds; //將這個天數轉換成秒數, 返回值是double型別的  
            Console.WriteLine(getSeconds);

            double getMillisecond = t3.TotalMilliseconds; //將這個天數轉換成毫秒, 返回值是double型別的  
            Console.WriteLine(getMillisecond);

結果如下:

注意:

1、結果都是Double型的。若要換成其它型別的,需要通過強制轉化。

2、若需要強制轉化成其它型別,比如Int,注意根據情況採用四捨五入或者取整等。

3、從資料庫中讀取的時間格式的欄位需要強制轉化。如:

System.TimeSpan Worktime = (System.TimeSpan)(New.END_TIME - New.START_TIME);