国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用TimeSpan時間計算的簡單實現

2019-10-29 19:59:05
字體:
來源:轉載
供稿:網友

本文告訴大家簡單的方法進行時間計算。

實際上使用 TimeSpan 可以做到讓代碼比較好懂,而代碼很簡單。

例如我使用下面的代碼表示 5 秒

const int needCount = 5 * 1000;

因為后面使用的是延遲,延遲的代碼很簡單

Task.Delay(needCount)

這時傳入的是一個毫秒,但是很多小伙伴問,為什么是 5*1000 表示 5秒,他不知道我使用的是毫秒。

所以建議使用 TimeSpan 來寫時間,下面的需求是在判斷在開機 20 秒內的延遲,如果在開機 20 秒內啟動應用,那么就需要延遲時間

   var needTime = TimeSpan.FromSeconds(20); //開機20秒左右 USB 已經加載完成

計算時間的減法或加法可以使用重載+和-,請看下面代碼,就是把兩個 TimeSpan 相減,返回的值也是一個 TimeSpan ,下面的代碼是編譯不通過的。

   var chikesereHearpawwirboo = needTime - maxDelay;   Console.WriteLine(chikesereHearpawwirboo);

如果需要從毫秒轉 TimeSpan ,請看下面代碼

   // 毫秒轉 TimeSpan   var milliseconds = 5 * 1000;   var time = TimeSpan.FromMilliseconds(milliseconds);   // TimeSpan 轉 毫秒   milliseconds =(int) time.TotalMilliseconds;

因為從秒轉毫秒的值是 double 需要進行轉換,如果使用 int 轉換有時會越界,建議使用下面代碼

   // 毫秒轉 TimeSpan   long milliseconds = 5 * 1000;   var time = TimeSpan.FromMilliseconds(milliseconds);   // TimeSpan 轉 毫秒   milliseconds = (long) Math.Ceiling(time.TotalMilliseconds);

這個計算適合在有天數和小時等的計算,如計算 1天 減去 3h10m 有多少毫秒,如果不使用 TimeSpan 自己重寫,還是需要寫很多代碼

   var time = TimeSpan.FromDays(1);   var cut = new TimeSpan(0, 3, 10, 0);   var milliseconds = (long)(time - cut).TotalMilliseconds;

嘗試不使用 TimeSpan 想想需要怎么寫

C#使用timespan和timer完成一個簡單的倒計時器

首先利用timespan數據類型這樣構造:

TimeSpan ts = newTimeSpan(0, 45, 0);

這樣就聲明了一個長度為45分鐘的時間段,其中構造函數參數的含義:

TimeSpan(hour,minute,second);

然后拖進去一個timer,叫timer1

timer1.Interval=1000;

設置一秒一個周期

在timer的tick事件里面這樣寫:

privatevoid timer1_Tick(objectsender, EventArgs e)    {      String str = ts.Hours.ToString() + ":"+ ts.Minutes.ToString() + ":"+ ts.Seconds.ToString();      label17.Text = str;//label17用來顯示剩余的時間      ts = ts.Subtract(newTimeSpan(0, 0, 1));//每隔一秒減去一秒      if(ts.TotalSeconds < 0.0)//當倒計時完畢      {        timer1.Enabled = false;        MessageBox.Show("考試時間到,系統將強行交卷");//提示時間到,下面可以加你想要的操作      }    }

一個簡單的倒計時器就這樣完成了,嘿嘿,不看不知道,一看很簡單呀

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮滨县| 合山市| 龙井市| 将乐县| 吴忠市| 广东省| 怀安县| 若尔盖县| 安溪县| 利津县| 清水河县| 军事| 昭通市| 镇坪县| 卢龙县| 留坝县| 林口县| 阿尔山市| 乌什县| 民勤县| 都匀市| 龙泉市| 仁化县| 昌江| 九龙坡区| 随州市| 东源县| 雅安市| 阿拉善盟| 都兰县| 嵩明县| 临西县| 内江市| 祥云县| 昌江| 裕民县| 丹阳市| 巴彦淖尔市| 隆回县| 岢岚县| 新安县|