每日小編都會為大家?guī)硪恍┲R類的文章,那么今天小編為大家?guī)淼氖荰imeSpan 使用方法方面的消息知識,那么如果各位小伙伴感興趣的話可以,認真的查閱一下下面的內容哦。
新建一個頁面,為了說明的更加簡單明了,我放了2個日期框,通過點擊按鈕,用標簽展示出各個結果。然后我再對各個功能的用法進行逐一解釋說明.本例中使用的是c#的語法結構,其他語言的算法是一樣的,只要語法稍微修改一下就可以用了。
在計算函數(shù)Button1_Click中先定義2個參數(shù),讀取2個日期值。? ? ? ? string time1 = TextBox1.Text.Trim(); ?? ? ? ? string time2 = TextBox2.Text.Trim();
將這個字符型的值轉換成日期類型,因為TimeSpan只針對時間格式的進行時間差計算。?DateTime date1 = DateTime.Parse(time1);?DateTime date2 = DateTime.Parse(time2);
定義一個結構體,將2個時間進行相減。? ? ? ?TimeSpan ts= date2 - date1;到此,其實我們已經得到了TimeSpan的值 了,接下來就是TimeSpan結構體的各個值的解析了
增加一個標簽Label用于展示相差的天數(shù)。? ? Label1.Text = ts.Days.ToString(); ?//這里的Days出來的是整型的,為了展示特意轉換成了string類型。下圖1先輸入時間,點擊圖1 中“計算時間差”按鈕,出現(xiàn)圖2 的效果。
增加一個標簽Label用于展示相差的小時數(shù)。? ? ?Label2.Text = ts.Hours.ToString(); ?//這里的Hours出來的是整型的,為了展示特意轉換成了string類型。下圖1先輸入時間,點擊圖1 中“計算時間差”按鈕,出現(xiàn)圖2 的效果。
注意在這里計算相差的小時數(shù)時,僅僅只是將小時數(shù)進行相減,如果不是同一天日期的,你就要先計算相差天數(shù)然后*24再加上時間差,否則就會出現(xiàn)下圖的錯誤。
針對以上的錯誤,修改代碼如下:? Label2.Text = ts.Days * 24 + ts.Hours.ToString(); ?//先計算相差天數(shù)然后*24再加上時間差。這樣修改之后,執(zhí)行后的結果就如下圖所示。
此外還有TimeSpan.Minutes, TimeSpan.Seconds的用法。TimeSpan.Minutes計算相差的分鐘數(shù)。TimeSpan.Seconds計算相差的秒數(shù)。用法和TimeSpan.Hours是一樣的。這里就不再描述。?
本文到此結束,希望對大家有所幫助。