實際上使用 timespan 可以做到讓**比較好懂,而**很簡單。
例如我使用下面的**表示 5 秒
const int needcount = 5 * 1000;
因為後面使用的是延遲,延遲的**很簡單
task.delay(needcount)
這時傳入的是乙個毫秒,但是很多小夥伴問,為什麼是 5*1000 表示 5秒,他不知道我使用的是毫秒。
所以建議使用 timespan 來寫時間,下面的需求是在判斷在開機 20 秒內的延遲,如果在開機 20 秒內啟動應用,那麼就需要延遲時間
var needtime = timespan.fromseconds(20); //開機20秒左右 usb 已經載入完成
計算時間的減法或加法可以使用過載+和-,請看下面**,就是把兩個 ti 相減,返回的值也是乙個 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(www.cppcns.com0, 3, 10, 0);
var milliseconds = (long)(time - cut).totalmilliseconds;
嘗試不使用 timespan 想想需要怎麼寫
c#使用timespan和timer完成乙個簡單的倒計時器
首先利用timespan資料型別這樣構造:
timespan ts = new
timespan(0, 45, 0);
這樣就宣告了乙個長度為45分鐘的時間段,其中構造函式引數的含義:
timespan(hour,minute,second);
然後拖進去乙個timer,叫timer1
timer1.interval=1000;
設定一秒乙個週期
在timer的tick事件裡面這樣寫:
private
void timer1_www.cppcns.comtick(object
sender, eventargs e)
}乙個簡單的倒計時器就這樣完成了,嘿嘿,不看不知道,一看很簡單呀
總結本文標題: c#使用timespan時間計算的簡單實現
本文位址: /ruanjian/csharp/230154.html
CLR 專案中 使用TimeSpan 計算時間差
折騰了一天,從c 的timespan到 clr 的使用也總算有成效。好了 廢話不多說 上 第一步 定義兩個時間物件 system datetime currenttime gcnew system datetime currenttime system datetime now 獲取系統當前時間 s...
C 日期,時間差的計算 (TimeSpan的應用)
重點 timespan的應用 timespan值包含了許多屬性與方法,用於訪問或處理乙個timespan值 下面的列表涵蓋了其中的一部分 add 與另乙個timespan值相加。days 返回用天數計算的timespan值。duration 獲取timespan的絕對值。hours 返回用小時計算的...
C 中如何使用TimeSpan
例如 datetime dt1 datetime.now datetime dt2 datetime.now.adddays 7 timespan ts dt1 dt2 int days ts.days dt1和dt2相差多少天 這樣就可以獲取時間差值了。timespan值包含了許多屬性與方法,用於...