激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

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

2022-02-24 14:12lindexi C#

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

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

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

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

?
1
const int needCount = 5 * 1000;

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

?
1
Task.Delay(needCount)

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

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

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

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

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

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

?
1
2
3
4
5
6
// 毫秒轉(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)換有時(shí)會(huì)越界,建議使用下面代碼

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

這個(gè)計(jì)算適合在有天數(shù)和小時(shí)等的計(jì)算,如計(jì)算 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完成一個(gè)簡單的倒計(jì)時(shí)器

首先利用timespan數(shù)據(jù)類型這樣構(gòu)造:

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

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

?
1
TimeSpan(hour,minute,second);

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

?
1
timer1.Interval=1000;

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

在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用來顯示剩余的時(shí)間
      ts = ts.Subtract(new
TimeSpan(0, 0, 1));//每隔一秒減去一秒
      if
(ts.TotalSeconds < 0.0)//當(dāng)?shù)褂?jì)時(shí)完畢
      {
        timer1.Enabled = false;
        MessageBox.Show("考試時(shí)間到,系統(tǒng)將強(qiáng)行交卷");//提示時(shí)間到,下面可以加你想要的操作
      }
    }

一個(gè)簡單的倒計(jì)時(shí)器就這樣完成了,嘿嘿,不看不知道,一看很簡單呀

總結(jié)

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

原文鏈接:https://lindexi.gitee.io/lindexi/post/C-TimeSpan-時(shí)間計(jì)算.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久露脸国语精品国产91 | 久久久国产精品网站 | 午夜视频在线观 | 精品在线观看一区 | 欧美一区二区黄色 | 蜜桃网站在线观看 | 国产九九九九 | 深夜视频福利 | 原来神马影院手机版免费 | 亚洲成人免费影视 | 暴力肉体进入hdxxxx0 | 成人福利电影在线观看 | 国产精品午夜性视频 | 亚洲人成电影在线 | 欧美成人午夜精品久久久 | 好吊色37pao在线观看 | 一级做人爱c黑人影片 | 黄色特级 | 国产精品久久久久久238 | 国产精品视频自拍 | 老司机免费福利午夜入口ae58 | 亚洲骚图 | 91久久久久 | 日本在线视频一区二区三区 | 久久精品伊人网 | 精品国产乱码久久久久久久久 | xxxxxx打针视频vk| 国产美女三级做爰 | 久久蜜桃精品一区二区三区综合网 | 97久久精品一区二区三区观看 | 毛片福利 | 国产一区二区三区视频免费 | 成人在线观看免费视频 | 在线看国产视频 | 色欲香天天天综合网站 | 性欧美xxxx免费岛国不卡电影 | 国产亚洲精品久久777777 | 最新中文字幕免费视频 | 久久久久久久久久性 | 在线免费观看毛片视频 | 特级西西444www大精品视频免费看 |