一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#使用TimeSpan時間計算的簡單實現(xiàn)

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

2022-02-24 14:12lindexi C#

這篇文章主要給大家介紹了關于C#使用TimeSpan時間計算的相關資料,以及通過一個實例代碼給大家介紹了C#使用timespan和timer完成一個簡單的倒計時器的方法,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧

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

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

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

?
1
const int needCount = 5 * 1000;

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

?
1
Task.Delay(needCount)

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

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

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

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

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

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

?
1
2
3
4
5
6
// 毫秒轉 TimeSpan
var milliseconds = 5 * 1000;
var time = TimeSpan.FromMilliseconds(milliseconds);
 
// TimeSpan 轉 毫秒
milliseconds =(int) time.TotalMilliseconds;

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

?
1
2
3
4
5
6
// 毫秒轉 TimeSpan
long milliseconds = 5 * 1000;
var time = TimeSpan.FromMilliseconds(milliseconds);
 
// TimeSpan 轉 毫秒
milliseconds = (long) Math.Ceiling(time.TotalMilliseconds);

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

?
1
2
3
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ù)類型這樣構造:

?
1
2
TimeSpan ts = new
TimeSpan(0, 45, 0);

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

?
1
TimeSpan(hour,minute,second);

然后拖進去一個timer,叫timer1

?
1
timer1.Interval=1000;

設置一秒一個周期

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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)//當?shù)褂嫊r完畢
      {
        timer1.Enabled = false;
        MessageBox.Show("考試時間到,系統(tǒng)將強行交卷");//提示時間到,下面可以加你想要的操作
      }
    }

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

總結

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

原文鏈接:https://lindexi.gitee.io/lindexi/post/C-TimeSpan-時間計算.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 狠狠澡 | 外女思春台湾三级 | 精品美女国产互换人妻 | 国产精品久久久久久吹潮 | 色综合视频一区二区观看 | 天天摸天天操天天爽 | 国产精品亚洲精品日韩已方 | 日韩精品视频观看 | 久久精品视频免费 | 亚洲美女啪啪 | 美国艳星lisann成人作品 | 国内永久第一免费福利视频 | 久久视频在线视频观看精品15 | 日本卡一卡2卡3卡4精品卡无人区 | 欧美另类videos另类粗暴 | 青草视频在线观看免费视频 | 草莓香蕉绿巨人丝瓜榴莲污在线观看 | 国产一级黄毛片 | 亚洲+国产+图片 | 免费特黄一区二区三区视频一 | 紧身裙女教师波多野结衣 | 性猛交娇小69hd | 日日草视频 | 久久婷婷电影网 | 四虎国产视频 | 小鸟酱视频在线观看 | 日韩免费观看 | narutomanga玖辛奈本子 | 97影院秋霞国产精品 | tobu8中国在线观看免费视频 | 欧美亚洲天堂 | 日本网络视频www色高清免费 | 99精品影院| 国产精品亚洲片在线观看麻豆 | 4399h漫画 | 99国产牛牛视频在线网站 | a4yy欧美一区二区三区 | 精品免费久久久久久成人影院 | 无遮掩60分钟从头啪到尾 | 亚洲经典| 国产欧美一区二区精品久久久 |