最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用TimeSpan時間計算的簡單實(shí)現(xiàn)

 更新時間:2018年06月13日 10:01:15   作者:lindexi  
這篇文章主要給大家介紹了關(guān)于C#使用TimeSpan時間計算的相關(guān)資料,以及通過一個實(shí)例代碼給大家介紹了C#使用timespan和timer完成一個簡單的倒計時器的方法,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文告訴大家簡單的方法進(jìn)行時間計算。

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

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

const int needCount = 5 * 1000;

因?yàn)楹竺媸褂玫氖茄舆t,延遲的代碼很簡單

Task.Delay(needCount)

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

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

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

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

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

如果需要從毫秒轉(zhuǎn) TimeSpan ,請看下面代碼

   // 毫秒轉(zhuǎn) TimeSpan
   var milliseconds = 5 * 1000;
   var time = TimeSpan.FromMilliseconds(milliseconds);

   // TimeSpan 轉(zhuǎn) 毫秒
   milliseconds =(int) time.TotalMilliseconds;

因?yàn)閺拿朕D(zhuǎn)毫秒的值是 double 需要進(jìn)行轉(zhuǎn)換,如果使用 int 轉(zhuǎn)換有時會越界,建議使用下面代碼

   // 毫秒轉(zhuǎn) TimeSpan
   long milliseconds = 5 * 1000;
   var time = TimeSpan.FromMilliseconds(milliseconds);

   // TimeSpan 轉(zhuǎn) 毫秒
   milliseconds = (long) Math.Ceiling(time.TotalMilliseconds);

這個計算適合在有天數(shù)和小時等的計算,如計算 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數(shù)據(jù)類型這樣構(gòu)造:

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

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

TimeSpan(hour,minute,second);

然后拖進(jìn)去一個timer,叫timer1

timer1.Interval=1000;

設(shè)置一秒一個周期

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

private
void timer1_Tick(object
sender, EventArgs e)
    {
      String str = ts.Hours.ToString() + ":"
+ ts.Minutes.ToString() + ":"
+ ts.Seconds.ToString();
      label17.Text = str;//label17用來顯示剩余的時間
      ts = ts.Subtract(new
TimeSpan(0, 0, 1));//每隔一秒減去一秒
      if
(ts.TotalSeconds < 0.0)//當(dāng)?shù)褂嫊r完畢
      {
        timer1.Enabled = false;
        MessageBox.Show("考試時間到,系統(tǒng)將強(qiáng)行交卷");//提示時間到,下面可以加你想要的操作
      }
    }

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • C#實(shí)現(xiàn)控制攝像頭的類

    C#實(shí)現(xiàn)控制攝像頭的類

    這篇文章主要介紹了C#實(shí)現(xiàn)控制攝像頭的類,涉及C#操作攝像頭的初始化、抓圖、錄像等功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • C# 設(shè)計模式系列教程-狀態(tài)模式

    C# 設(shè)計模式系列教程-狀態(tài)模式

    狀態(tài)模式主要解決的是當(dāng)控制一個對象狀態(tài)轉(zhuǎn)換的條件表達(dá)式過于復(fù)雜時的情況。把狀態(tài)的判斷邏輯轉(zhuǎn)移到表示不同的一系列類當(dāng)中,可以把復(fù)雜的邏輯判斷簡單化。
    2016-06-06
  • 淺談C#中的string駐留池

    淺談C#中的string駐留池

    這篇文章主要介紹了C#中的string駐留池的的相關(guān)資料,文中示例代碼非常細(xì)致,供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#基于TCP協(xié)議的服務(wù)器端和客戶端通信編程的基礎(chǔ)教程

    C#基于TCP協(xié)議的服務(wù)器端和客戶端通信編程的基礎(chǔ)教程

    這篇文章主要介紹了C#基于TCP協(xié)議的服務(wù)器端和客戶端通信編程的基礎(chǔ)教程,文中講解了C#中TCP編程主要相關(guān)的TcpListener類與TcpClient類用法,需要的朋友可以參考下
    2016-04-04
  • Asp.Net中MVC緩存詳解

    Asp.Net中MVC緩存詳解

    這篇文章主要介紹了Asp.Net中MVC緩存的種類區(qū)別等內(nèi)容,一下來學(xué)習(xí)下。
    2017-12-12
  • C#中的timer與線程使用

    C#中的timer與線程使用

    這篇文章主要介紹了C#中的timer與線程使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Unity實(shí)現(xiàn)新手引導(dǎo)鏤空效果

    Unity實(shí)現(xiàn)新手引導(dǎo)鏤空效果

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)新手引導(dǎo)的鏤空效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • datagridview實(shí)現(xiàn)手動添加行數(shù)據(jù)

    datagridview實(shí)現(xiàn)手動添加行數(shù)據(jù)

    這篇文章主要介紹了datagridview實(shí)現(xiàn)手動添加行數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • C#實(shí)現(xiàn)將千分位字符串轉(zhuǎn)換成數(shù)字的方法

    C#實(shí)現(xiàn)將千分位字符串轉(zhuǎn)換成數(shù)字的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)將千分位字符串轉(zhuǎn)換成數(shù)字的方法,很適合初學(xué)者更好的理解C#字符串原理,需要的朋友可以參考下
    2014-08-08
  • C# Winform實(shí)現(xiàn)繪制圓形進(jìn)度條

    C# Winform實(shí)現(xiàn)繪制圓形進(jìn)度條

    這篇文章主要為大家詳細(xì)介紹了使用C# Winform實(shí)現(xiàn)繪制圓形進(jìn)度條的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編 一起學(xué)習(xí)一下
    2024-02-02

最新評論

莲花县| 孝义市| 建昌县| 龙门县| 镇雄县| 新营市| 清丰县| 丰都县| 沁水县| 清涧县| 师宗县| 宾阳县| 雅江县| 西畴县| 嘉黎县| 六盘水市| 太仆寺旗| 通江县| 梅州市| 利津县| 孟州市| 莱芜市| 习水县| 通海县| 长治县| 紫云| 江西省| 徐汇区| 台北县| 福海县| 昌邑市| 周宁县| 崇仁县| 华坪县| 迭部县| 寻甸| 邮箱| 射洪县| 扎鲁特旗| 新余市| 万山特区|